Click here to Skip to main content
15,884,472 members
Articles / Web Development / HTML

Mouse Gestures for Internet Explorer

Rate me:
Please Sign up or sign in to vote.
4.84/5 (99 votes)
21 Sep 200514 min read 1.3M   13.4K   235  
Adding mouse gesture recognition to Internet Explorer.
// Generated .IDL file (by the OLE/COM Object Viewer)
// 
// typelib filename: mshtml.tlb

[
  uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B),
  version(4.0),
  helpstring("Microsoft HTML Object Library"),
  custom(DE77BA64-517C-11D1-A2DA-0000F8773CE9, 100663643),
  custom(DE77BA63-517C-11D1-A2DA-0000F8773CE9, 998094778),
  custom(DE77BA65-517C-11D1-A2DA-0000F8773CE9, Created by MIDL version 6.00.0347 at Fri Aug 17 17:32:45 2001
)

]
library MSHTML
{
    // TLib :     // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
    importlib("stdole2.tlb");

    // Forward declare all types defined in this typelib
    interface IHTMLEventObj;
    interface IHTMLElement;
    interface IHTMLStyle;
    interface IHTMLFiltersCollection;
    interface IElementBehaviorSite;
    interface IElementBehavior;
    interface IElementBehaviorFactory;
    interface IElementBehaviorSiteOM;
    interface IElementBehaviorRender;
    interface IElementBehaviorSiteRender;
    interface IHTMLStyle2;
    interface IHTMLStyle3;
    interface IHTMLStyle4;
    interface IHTMLRuleStyle;
    interface IHTMLRuleStyle2;
    interface IHTMLRuleStyle3;
    interface IHTMLRuleStyle4;
    dispinterface DispHTMLStyle;
    dispinterface DispHTMLRuleStyle;
    interface IHTMLRenderStyle;
    dispinterface DispHTMLRenderStyle;
    interface IHTMLCurrentStyle;
    interface IHTMLCurrentStyle2;
    interface IHTMLCurrentStyle3;
    dispinterface DispHTMLCurrentStyle;
    interface IHTMLRect;
    interface IHTMLRectCollection;
    interface IHTMLDOMNode;
    interface IHTMLDOMNode2;
    interface IHTMLDOMAttribute;
    interface IHTMLDOMAttribute2;
    interface IHTMLDOMTextNode;
    interface IHTMLDOMTextNode2;
    interface IHTMLDOMImplementation;
    dispinterface DispHTMLDOMAttribute;
    dispinterface DispHTMLDOMTextNode;
    dispinterface DispHTMLDOMImplementation;
    interface IHTMLAttributeCollection;
    interface IHTMLAttributeCollection2;
    interface IHTMLDOMChildrenCollection;
    dispinterface DispHTMLAttributeCollection;
    dispinterface DispDOMChildrenCollection;
    dispinterface HTMLElementEvents2;
    dispinterface HTMLElementEvents;
    interface IHTMLElementCollection;
    interface IHTMLElement2;
    interface IHTMLElement3;
    interface IHTMLElement4;
    interface IHTMLElementRender;
    interface IHTMLUniqueName;
    interface IHTMLDatabinding;
    interface IHTMLDocument;
    interface IHTMLElementDefaults;
    dispinterface DispHTMLDefaults;
    interface IHTCDefaultDispatch;
    interface IHTCPropertyBehavior;
    interface IHTCMethodBehavior;
    interface IHTCEventBehavior;
    interface IHTCAttachBehavior;
    interface IHTCAttachBehavior2;
    interface IHTCDescBehavior;
    dispinterface DispHTCDefaultDispatch;
    dispinterface DispHTCPropertyBehavior;
    dispinterface DispHTCMethodBehavior;
    dispinterface DispHTCEventBehavior;
    dispinterface DispHTCAttachBehavior;
    dispinterface DispHTCDescBehavior;
    interface IHTMLUrnCollection;
    interface IHTMLGenericElement;
    dispinterface DispHTMLGenericElement;
    interface IHTMLStyleSheetRule;
    interface IHTMLStyleSheetRulesCollection;
    interface IHTMLStyleSheetPage;
    interface IHTMLStyleSheetPagesCollection;
    interface IHTMLStyleSheetsCollection;
    interface IHTMLStyleSheet;
    interface IHTMLStyleSheet2;
    dispinterface DispHTMLStyleSheet;
    dispinterface HTMLLinkElementEvents2;
    dispinterface HTMLLinkElementEvents;
    interface IHTMLLinkElement;
    interface IHTMLLinkElement2;
    interface IHTMLLinkElement3;
    dispinterface DispHTMLLinkElement;
    interface IHTMLTxtRange;
    interface IHTMLTextRangeMetrics;
    interface IHTMLTextRangeMetrics2;
    interface IHTMLTxtRangeCollection;
    dispinterface HTMLFormElementEvents2;
    dispinterface HTMLFormElementEvents;
    interface IHTMLFormElement;
    interface IHTMLFormElement2;
    interface IHTMLFormElement3;
    interface IHTMLSubmitData;
    dispinterface DispHTMLFormElement;
    dispinterface HTMLControlElementEvents2;
    dispinterface HTMLControlElementEvents;
    interface IHTMLControlElement;
    interface IHTMLTextElement;
    dispinterface DispHTMLTextElement;
    dispinterface HTMLTextContainerEvents2;
    dispinterface HTMLTextContainerEvents;
    interface IHTMLTextContainer;
    interface IHTMLControlRange;
    interface IHTMLControlRange2;
    dispinterface HTMLImgEvents2;
    dispinterface HTMLImgEvents;
    interface IHTMLImgElement;
    interface IHTMLImgElement2;
    interface IHTMLImageElementFactory;
    dispinterface DispHTMLImg;
    interface IHTMLBodyElement;
    interface IHTMLBodyElement2;
    dispinterface DispHTMLBody;
    interface IHTMLFontElement;
    dispinterface DispHTMLFontElement;
    dispinterface HTMLAnchorEvents2;
    dispinterface HTMLAnchorEvents;
    interface IHTMLAnchorElement;
    interface IHTMLAnchorElement2;
    dispinterface DispHTMLAnchorElement;
    dispinterface HTMLLabelEvents2;
    dispinterface HTMLLabelEvents;
    interface IHTMLLabelElement;
    interface IHTMLLabelElement2;
    dispinterface DispHTMLLabelElement;
    interface IHTMLListElement;
    interface IHTMLListElement2;
    dispinterface DispHTMLListElement;
    interface IHTMLUListElement;
    dispinterface DispHTMLUListElement;
    interface IHTMLOListElement;
    dispinterface DispHTMLOListElement;
    interface IHTMLLIElement;
    dispinterface DispHTMLLIElement;
    interface IHTMLBlockElement;
    interface IHTMLBlockElement2;
    dispinterface DispHTMLBlockElement;
    interface IHTMLDivElement;
    dispinterface DispHTMLDivElement;
    interface IHTMLDDElement;
    dispinterface DispHTMLDDElement;
    interface IHTMLDTElement;
    dispinterface DispHTMLDTElement;
    interface IHTMLBRElement;
    dispinterface DispHTMLBRElement;
    interface IHTMLDListElement;
    dispinterface DispHTMLDListElement;
    interface IHTMLHRElement;
    dispinterface DispHTMLHRElement;
    interface IHTMLParaElement;
    dispinterface DispHTMLParaElement;
    interface IHTMLElementCollection2;
    interface IHTMLElementCollection3;
    dispinterface DispHTMLElementCollection;
    interface IHTMLHeaderElement;
    dispinterface DispHTMLHeaderElement;
    dispinterface HTMLSelectElementEvents2;
    dispinterface HTMLSelectElementEvents;
    interface IHTMLSelectElement;
    interface IHTMLSelectElement2;
    interface IHTMLSelectElement4;
    dispinterface DispHTMLSelectElement;
    interface IHTMLSelectionObject;
    interface IHTMLSelectionObject2;
    interface IHTMLOptionElement;
    interface IHTMLOptionElement3;
    interface IHTMLOptionElementFactory;
    dispinterface DispHTMLOptionElement;
    dispinterface HTMLButtonElementEvents2;
    dispinterface HTMLButtonElementEvents;
    dispinterface HTMLInputTextElementEvents2;
    dispinterface HTMLOptionButtonElementEvents2;
    dispinterface HTMLInputFileElementEvents2;
    dispinterface HTMLInputImageEvents2;
    dispinterface HTMLInputTextElementEvents;
    dispinterface HTMLOptionButtonElementEvents;
    dispinterface HTMLInputFileElementEvents;
    dispinterface HTMLInputImageEvents;
    interface IHTMLInputElement;
    interface IHTMLInputElement2;
    interface IHTMLInputButtonElement;
    interface IHTMLInputHiddenElement;
    interface IHTMLInputTextElement;
    interface IHTMLInputFileElement;
    interface IHTMLOptionButtonElement;
    interface IHTMLInputImage;
    dispinterface DispHTMLInputElement;
    interface IHTMLTextAreaElement;
    dispinterface DispHTMLTextAreaElement;
    dispinterface DispHTMLRichtextElement;
    interface IHTMLButtonElement;
    dispinterface DispHTMLButtonElement;
    dispinterface HTMLMarqueeElementEvents2;
    dispinterface HTMLMarqueeElementEvents;
    interface IHTMLMarqueeElement;
    dispinterface DispHTMLMarqueeElement;
    interface IHTMLHtmlElement;
    interface IHTMLHeadElement;
    interface IHTMLTitleElement;
    interface IHTMLMetaElement;
    interface IHTMLMetaElement2;
    interface IHTMLBaseElement;
    interface IHTMLIsIndexElement;
    interface IHTMLIsIndexElement2;
    interface IHTMLNextIdElement;
    dispinterface DispHTMLHtmlElement;
    dispinterface DispHTMLHeadElement;
    dispinterface DispHTMLTitleElement;
    dispinterface DispHTMLMetaElement;
    dispinterface DispHTMLBaseElement;
    dispinterface DispHTMLIsIndexElement;
    dispinterface DispHTMLNextIdElement;
    interface IHTMLBaseFontElement;
    dispinterface DispHTMLBaseFontElement;
    interface IHTMLUnknownElement;
    dispinterface DispHTMLUnknownElement;
    interface IOmHistory;
    interface IHTMLMimeTypesCollection;
    interface IHTMLPluginsCollection;
    interface IHTMLOpsProfile;
    interface IOmNavigator;
    interface IHTMLLocation;
    interface IHTMLBookmarkCollection;
    interface IHTMLDataTransfer;
    interface IHTMLEventObj2;
    interface IHTMLEventObj3;
    interface IHTMLEventObj4;
    dispinterface DispCEventObj;
    dispinterface HTMLWindowEvents2;
    dispinterface HTMLWindowEvents;
    interface IHTMLDocument2;
    interface IHTMLFramesCollection2;
    interface IHTMLWindow2;
    interface IHTMLScreen;
    interface IHTMLWindow3;
    interface IHTMLFrameBase;
    interface IHTMLScreen2;
    interface IHTMLWindow4;
    dispinterface DispHTMLScreen;
    dispinterface DispHTMLWindow2;
    dispinterface DispHTMLWindowProxy;
    dispinterface HTMLDocumentEvents2;
    dispinterface HTMLDocumentEvents;
    interface IHTMLDocument3;
    interface IHTMLDocument4;
    interface IHTMLDocument5;
    dispinterface DispHTMLDocument;
    dispinterface DWebBridgeEvents;
    interface IWebBridge;
    interface IWBScriptControl;
    interface IHTMLEmbedElement;
    dispinterface DispHTMLEmbed;
    dispinterface HTMLMapEvents2;
    dispinterface HTMLMapEvents;
    interface IHTMLAreasCollection;
    interface IHTMLAreasCollection2;
    interface IHTMLAreasCollection3;
    interface IHTMLMapElement;
    dispinterface DispHTMLAreasCollection;
    dispinterface DispHTMLMapElement;
    dispinterface HTMLAreaEvents2;
    dispinterface HTMLAreaEvents;
    interface IHTMLAreaElement;
    dispinterface DispHTMLAreaElement;
    interface IHTMLTableCaption;
    dispinterface DispHTMLTableCaption;
    interface IHTMLCommentElement;
    interface IHTMLCommentElement2;
    dispinterface DispHTMLCommentElement;
    interface IHTMLPhraseElement;
    interface IHTMLPhraseElement2;
    interface IHTMLSpanElement;
    dispinterface DispHTMLPhraseElement;
    dispinterface DispHTMLSpanElement;
    dispinterface HTMLTableEvents2;
    dispinterface HTMLTableEvents;
    interface IHTMLTableSection;
    interface IHTMLTable;
    interface IHTMLTable2;
    interface IHTMLTable3;
    interface IHTMLTableCol;
    interface IHTMLTableCol2;
    interface IHTMLTableSection2;
    interface IHTMLTableSection3;
    interface IHTMLTableRow;
    interface IHTMLTableRow2;
    interface IHTMLTableRow3;
    interface IHTMLTableRowMetrics;
    interface IHTMLTableCell;
    interface IHTMLTableCell2;
    dispinterface DispHTMLTable;
    dispinterface DispHTMLTableCol;
    dispinterface DispHTMLTableSection;
    dispinterface DispHTMLTableRow;
    dispinterface DispHTMLTableCell;
    dispinterface HTMLScriptEvents2;
    dispinterface HTMLScriptEvents;
    interface IHTMLScriptElement;
    interface IHTMLScriptElement2;
    dispinterface DispHTMLScriptElement;
    interface IHTMLNoShowElement;
    dispinterface DispHTMLNoShowElement;
    dispinterface HTMLObjectElementEvents2;
    dispinterface HTMLObjectElementEvents;
    interface IHTMLObjectElement;
    interface IHTMLObjectElement2;
    interface IHTMLObjectElement3;
    interface IHTMLParamElement;
    dispinterface DispHTMLObjectElement;
    dispinterface DispHTMLParamElement;
    dispinterface HTMLFrameSiteEvents2;
    dispinterface HTMLFrameSiteEvents;
    interface IHTMLFrameBase2;
    interface IHTMLFrameBase3;
    dispinterface DispHTMLFrameBase;
    interface IHTMLFrameElement;
    interface IHTMLFrameElement2;
    dispinterface DispHTMLFrameElement;
    interface IHTMLIFrameElement;
    interface IHTMLIFrameElement2;
    dispinterface DispHTMLIFrame;
    interface IHTMLDivPosition;
    interface IHTMLFieldSetElement;
    interface IHTMLFieldSetElement2;
    interface IHTMLLegendElement;
    interface IHTMLLegendElement2;
    dispinterface DispHTMLDivPosition;
    dispinterface DispHTMLFieldSetElement;
    dispinterface DispHTMLLegendElement;
    interface IHTMLSpanFlow;
    dispinterface DispHTMLSpanFlow;
    interface IHTMLFrameSetElement;
    interface IHTMLFrameSetElement2;
    dispinterface DispHTMLFrameSetSite;
    interface IHTMLBGsound;
    dispinterface DispHTMLBGsound;
    interface IHTMLFontNamesCollection;
    interface IHTMLFontSizesCollection;
    interface IHTMLOptionsHolder;
    dispinterface HTMLStyleElementEvents2;
    dispinterface HTMLStyleElementEvents;
    interface IHTMLStyleElement;
    dispinterface DispHTMLStyleElement;
    interface IHTMLStyleFontFace;
    interface ICSSFilterSite;
    interface IMarkupPointer;
    interface IMarkupContainer;
    interface IMarkupContainer2;
    interface IHTMLChangeSink;
    interface IHTMLChangeLog;
    interface IActiveIMMApp;
    interface IEnumRegisterWordA;
    interface IEnumRegisterWordW;
    interface IEnumInputContext;
    interface ISegmentList;
    interface ISegmentListIterator;
    interface ISegment;
    interface IHTMLCaret;
    interface IDisplayPointer;
    interface ILineInfo;
    interface IElementSegment;
    interface IHighlightSegment;
    interface IHighlightRenderingServices;
    interface IDisplayServices;
    interface IHTMLComputedStyle;
    interface IHtmlDlgSafeHelper;
    interface IBlockFormats;
    interface IFontNames;
    interface ICSSFilter;
    interface ISecureUrlHost;
    interface IMarkupServices;
    interface IMarkupServices2;
    interface IHTMLChangePlayback;
    interface IMarkupPointer2;
    interface IMarkupTextFrags;
    interface IXMLGenericParse;
    interface IHTMLEditHost;
    interface IHTMLEditHost2;
    interface ISequenceNumber;
    interface IIMEServices;
    interface ISelectionServicesListener;
    interface ISelectionServices;
    interface IHTMLEditDesigner;
    interface IHTMLEditServices;
    interface IHTMLEditServices2;
    dispinterface HTMLNamespaceEvents;
    interface IHTMLNamespace;
    interface IHTMLNamespaceCollection;
    interface IHTMLPainter;
    interface IHTMLPaintSite;
    interface IHTMLPainterEventInfo;
    interface IHTMLPainterOverlay;
    interface IHTMLIPrintCollection;
    interface IEnumPrivacyRecords;
    interface IHTMLDialog;
    interface IHTMLDialog2;
    interface IHTMLDialog3;
    interface IHTMLModelessInit;
    interface IHTMLPopup;
    dispinterface DispHTMLPopup;
    interface IHTMLAppBehavior;
    interface IHTMLAppBehavior2;
    interface IHTMLAppBehavior3;
    dispinterface DispHTMLAppBehavior;
    dispinterface DispIHTMLInputButtonElement;
    dispinterface DispIHTMLInputTextElement;
    dispinterface DispIHTMLInputFileElement;
    dispinterface DispIHTMLOptionButtonElement;
    dispinterface DispIHTMLInputImage;
    interface IElementNamespace;
    interface IElementNamespaceTable;
    interface IElementNamespaceFactory;
    interface IElementNamespaceFactory2;
    interface IElementNamespaceFactoryCallback;
    interface IElementBehaviorSiteOM2;
    interface IElementBehaviorCategory;
    interface IElementBehaviorSiteCategory;
    interface IEnumUnknown;
    interface IElementBehaviorSubmit;
    interface IElementBehaviorFocus;
    interface IElementBehaviorLayout;
    interface IElementBehaviorLayout2;
    interface IElementBehaviorSiteLayout;
    interface IElementBehaviorSiteLayout2;
    interface IHostBehaviorInit;

    [
      odl,
      uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLEventObj : IDispatch {
        [id(0x000003e9), propget]
        HRESULT srcElement([out, retval] IHTMLElement** p);
        [id(0x000003ea), propget]
        HRESULT altKey([out, retval] VARIANT_BOOL* p);
        [id(0x000003eb), propget]
        HRESULT ctrlKey([out, retval] VARIANT_BOOL* p);
        [id(0x000003ec), propget]
        HRESULT shiftKey([out, retval] VARIANT_BOOL* p);
        [id(0x000003ef), propput]
        HRESULT returnValue([in] VARIANT p);
        [id(0x000003ef), propget]
        HRESULT returnValue([out, retval] VARIANT* p);
        [id(0x000003f0), propput]
        HRESULT cancelBubble([in] VARIANT_BOOL p);
        [id(0x000003f0), propget]
        HRESULT cancelBubble([out, retval] VARIANT_BOOL* p);
        [id(0x000003f1), propget]
        HRESULT fromElement([out, retval] IHTMLElement** p);
        [id(0x000003f2), propget]
        HRESULT toElement([out, retval] IHTMLElement** p);
        [id(0x000003f3), propput]
        HRESULT keyCode([in] long p);
        [id(0x000003f3), propget]
        HRESULT keyCode([out, retval] long* p);
        [id(0x000003f4), propget]
        HRESULT button([out, retval] long* p);
        [id(0x000003f5), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x000003f6), propget]
        HRESULT qualifier([out, retval] BSTR* p);
        [id(0x000003f7), propget]
        HRESULT reason([out, retval] long* p);
        [id(0x000003ed), propget]
        HRESULT x([out, retval] long* p);
        [id(0x000003ee), propget]
        HRESULT y([out, retval] long* p);
        [id(0x000003fc), propget]
        HRESULT clientX([out, retval] long* p);
        [id(0x000003fd), propget]
        HRESULT clientY([out, retval] long* p);
        [id(0x000003fe), propget]
        HRESULT offsetX([out, retval] long* p);
        [id(0x000003ff), propget]
        HRESULT offsetY([out, retval] long* p);
        [id(0x00000400), propget]
        HRESULT screenX([out, retval] long* p);
        [id(0x00000401), propget]
        HRESULT screenY([out, retval] long* p);
        [id(0x00000402), propget]
        HRESULT srcFilter([out, retval] IDispatch** p);
    };

    [
      odl,
      uuid(3050F1FF-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLElement : IDispatch {
        [id(0x800101f5)]
        HRESULT setAttribute(
                        [in] BSTR strAttributeName, 
                        [in] VARIANT AttributeValue, 
                        [in, optional, defaultvalue(1)] long lFlags);
        [id(0x800101f6)]
        HRESULT getAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(0)] long lFlags, 
                        [out, retval] VARIANT* AttributeValue);
        [id(0x800101f7)]
        HRESULT removeAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(1)] long lFlags, 
                        [out, retval] VARIANT_BOOL* pfSuccess);
        [id(0x800103e9), propput, bindable]
        HRESULT className([in] BSTR p);
        [id(0x800103e9), propget, bindable]
        HRESULT className([out, retval] BSTR* p);
        [id(0x800103ea), propput, bindable]
        HRESULT id([in] BSTR p);
        [id(0x800103ea), propget, bindable]
        HRESULT id([out, retval] BSTR* p);
        [id(0x800103ec), propget]
        HRESULT tagName([out, retval] BSTR* p);
        [id(0x80010008), propget]
        HRESULT parentElement([out, retval] IHTMLElement** p);
        [id(0x8001004a), propget]
        HRESULT style([out, retval] IHTMLStyle** p);
        [id(0x8001177d), propput, bindable, displaybind]
        HRESULT onhelp([in] VARIANT p);
        [id(0x8001177d), propget, bindable, displaybind]
        HRESULT onhelp([out, retval] VARIANT* p);
        [id(0x80011778), propput, bindable, displaybind]
        HRESULT onclick([in] VARIANT p);
        [id(0x80011778), propget, bindable, displaybind]
        HRESULT onclick([out, retval] VARIANT* p);
        [id(0x80011779), propput, bindable, displaybind]
        HRESULT ondblclick([in] VARIANT p);
        [id(0x80011779), propget, bindable, displaybind]
        HRESULT ondblclick([out, retval] VARIANT* p);
        [id(0x80011775), propput, bindable, displaybind]
        HRESULT onkeydown([in] VARIANT p);
        [id(0x80011775), propget, bindable, displaybind]
        HRESULT onkeydown([out, retval] VARIANT* p);
        [id(0x80011776), propput, bindable, displaybind]
        HRESULT onkeyup([in] VARIANT p);
        [id(0x80011776), propget, bindable, displaybind]
        HRESULT onkeyup([out, retval] VARIANT* p);
        [id(0x80011777), propput, bindable, displaybind]
        HRESULT onkeypress([in] VARIANT p);
        [id(0x80011777), propget, bindable, displaybind]
        HRESULT onkeypress([out, retval] VARIANT* p);
        [id(0x80011771), propput, bindable, displaybind]
        HRESULT onmouseout([in] VARIANT p);
        [id(0x80011771), propget, bindable, displaybind]
        HRESULT onmouseout([out, retval] VARIANT* p);
        [id(0x80011770), propput, bindable, displaybind]
        HRESULT onmouseover([in] VARIANT p);
        [id(0x80011770), propget, bindable, displaybind]
        HRESULT onmouseover([out, retval] VARIANT* p);
        [id(0x80011774), propput, bindable, displaybind]
        HRESULT onmousemove([in] VARIANT p);
        [id(0x80011774), propget, bindable, displaybind]
        HRESULT onmousemove([out, retval] VARIANT* p);
        [id(0x80011772), propput, bindable, displaybind]
        HRESULT onmousedown([in] VARIANT p);
        [id(0x80011772), propget, bindable, displaybind]
        HRESULT onmousedown([out, retval] VARIANT* p);
        [id(0x80011773), propput, bindable, displaybind]
        HRESULT onmouseup([in] VARIANT p);
        [id(0x80011773), propget, bindable, displaybind]
        HRESULT onmouseup([out, retval] VARIANT* p);
        [id(0x800103fa), propget]
        HRESULT document([out, retval] IDispatch** p);
        [id(0x80010045), propput, bindable, displaybind]
        HRESULT title([in] BSTR p);
        [id(0x80010045), propget, bindable, displaybind]
        HRESULT title([out, retval] BSTR* p);
        [id(0x800113ec), propput, bindable, displaybind]
        HRESULT language([in] BSTR p);
        [id(0x800113ec), propget, bindable, displaybind]
        HRESULT language([out, retval] BSTR* p);
        [id(0x80011795), propput, bindable, displaybind]
        HRESULT onselectstart([in] VARIANT p);
        [id(0x80011795), propget, bindable, displaybind]
        HRESULT onselectstart([out, retval] VARIANT* p);
        [id(0x800103fb)]
        HRESULT scrollIntoView([in, optional] VARIANT varargStart);
        [id(0x800103fc)]
        HRESULT contains(
                        [in] IHTMLElement* pChild, 
                        [out, retval] VARIANT_BOOL* pfResult);
        [id(0x80010400), propget, bindable]
        HRESULT sourceIndex([out, retval] long* p);
        [id(0x80010401), propget]
        HRESULT recordNumber([out, retval] VARIANT* p);
        [id(0x80011391), propput]
        HRESULT lang([in] BSTR p);
        [id(0x80011391), propget]
        HRESULT lang([out, retval] BSTR* p);
        [id(0x800103f0), propget]
        HRESULT offsetLeft([out, retval] long* p);
        [id(0x800103f1), propget]
        HRESULT offsetTop([out, retval] long* p);
        [id(0x800103f2), propget]
        HRESULT offsetWidth([out, retval] long* p);
        [id(0x800103f3), propget]
        HRESULT offsetHeight([out, retval] long* p);
        [id(0x800103f4), propget]
        HRESULT offsetParent([out, retval] IHTMLElement** p);
        [id(0x80010402), propput]
        HRESULT innerHTML([in] BSTR p);
        [id(0x80010402), propget]
        HRESULT innerHTML([out, retval] BSTR* p);
        [id(0x80010403), propput]
        HRESULT innerText([in] BSTR p);
        [id(0x80010403), propget]
        HRESULT innerText([out, retval] BSTR* p);
        [id(0x80010404), propput]
        HRESULT outerHTML([in] BSTR p);
        [id(0x80010404), propget]
        HRESULT outerHTML([out, retval] BSTR* p);
        [id(0x80010405), propput]
        HRESULT outerText([in] BSTR p);
        [id(0x80010405), propget]
        HRESULT outerText([out, retval] BSTR* p);
        [id(0x80010406)]
        HRESULT insertAdjacentHTML(
                        [in] BSTR where, 
                        [in] BSTR html);
        [id(0x80010407)]
        HRESULT insertAdjacentText(
                        [in] BSTR where, 
                        [in] BSTR text);
        [id(0x80010408), propget]
        HRESULT parentTextEdit([out, retval] IHTMLElement** p);
        [id(0x8001040a), propget]
        HRESULT isTextEdit([out, retval] VARIANT_BOOL* p);
        [id(0x80010409)]
        HRESULT click();
        [id(0x8001040b), propget]
        HRESULT filters([out, retval] IHTMLFiltersCollection** p);
        [id(0x80011793), propput, bindable, displaybind]
        HRESULT ondragstart([in] VARIANT p);
        [id(0x80011793), propget, bindable, displaybind]
        HRESULT ondragstart([out, retval] VARIANT* p);
        [id(0x8001040c)]
        HRESULT toString([out, retval] BSTR* String);
        [id(0x80011785), propput, bindable, displaybind]
        HRESULT onbeforeupdate([in] VARIANT p);
        [id(0x80011785), propget, bindable, displaybind]
        HRESULT onbeforeupdate([out, retval] VARIANT* p);
        [id(0x80011786), propput, bindable, displaybind]
        HRESULT onafterupdate([in] VARIANT p);
        [id(0x80011786), propget, bindable, displaybind]
        HRESULT onafterupdate([out, retval] VARIANT* p);
        [id(0x80011796), propput, bindable, displaybind]
        HRESULT onerrorupdate([in] VARIANT p);
        [id(0x80011796), propget, bindable, displaybind]
        HRESULT onerrorupdate([out, retval] VARIANT* p);
        [id(0x80011782), propput, bindable, displaybind]
        HRESULT onrowexit([in] VARIANT p);
        [id(0x80011782), propget, bindable, displaybind]
        HRESULT onrowexit([out, retval] VARIANT* p);
        [id(0x80011783), propput, bindable, displaybind]
        HRESULT onrowenter([in] VARIANT p);
        [id(0x80011783), propget, bindable, displaybind]
        HRESULT onrowenter([out, retval] VARIANT* p);
        [id(0x80011798), propput, bindable, displaybind]
        HRESULT ondatasetchanged([in] VARIANT p);
        [id(0x80011798), propget, bindable, displaybind]
        HRESULT ondatasetchanged([out, retval] VARIANT* p);
        [id(0x80011799), propput, bindable, displaybind]
        HRESULT ondataavailable([in] VARIANT p);
        [id(0x80011799), propget, bindable, displaybind]
        HRESULT ondataavailable([out, retval] VARIANT* p);
        [id(0x8001179a), propput, bindable, displaybind]
        HRESULT ondatasetcomplete([in] VARIANT p);
        [id(0x8001179a), propget, bindable, displaybind]
        HRESULT ondatasetcomplete([out, retval] VARIANT* p);
        [id(0x8001179b), propput, bindable, displaybind]
        HRESULT onfilterchange([in] VARIANT p);
        [id(0x8001179b), propget, bindable, displaybind]
        HRESULT onfilterchange([out, retval] VARIANT* p);
        [id(0x8001040d), propget]
        HRESULT children([out, retval] IDispatch** p);
        [id(0x8001040e), propget]
        HRESULT all([out, retval] IDispatch** p);
    };

    [
      odl,
      uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyle : IDispatch {
        [id(0x8001139a), propput, bindable, displaybind]
        HRESULT fontFamily([in] BSTR p);
        [id(0x8001139a), propget, bindable, displaybind]
        HRESULT fontFamily([out, retval] BSTR* p);
        [id(0x800113a0), propput, bindable, displaybind]
        HRESULT fontStyle([in] BSTR p);
        [id(0x800113a0), propget, bindable, displaybind]
        HRESULT fontStyle([out, retval] BSTR* p);
        [id(0x800113a1), propput, bindable, displaybind]
        HRESULT fontVariant([in] BSTR p);
        [id(0x800113a1), propget, bindable, displaybind]
        HRESULT fontVariant([out, retval] BSTR* p);
        [id(0x800113a3), propput, bindable, displaybind]
        HRESULT fontWeight([in] BSTR p);
        [id(0x800113a3), propget, bindable, displaybind]
        HRESULT fontWeight([out, retval] BSTR* p);
        [id(0x8001139b), propput, bindable, displaybind]
        HRESULT fontSize([in] VARIANT p);
        [id(0x8001139b), propget, bindable, displaybind]
        HRESULT fontSize([out, retval] VARIANT* p);
        [id(0x800113b1), propput, bindable, displaybind]
        HRESULT font([in] BSTR p);
        [id(0x800113b1), propget, bindable, displaybind]
        HRESULT font([out, retval] BSTR* p);
        [id(0x8001138a), propput, bindable, displaybind]
        HRESULT color([in] VARIANT p);
        [id(0x8001138a), propget, bindable, displaybind]
        HRESULT color([out, retval] VARIANT* p);
        [id(0x800113a8), propput, bindable, displaybind]
        HRESULT background([in] BSTR p);
        [id(0x800113a8), propget, bindable, displaybind]
        HRESULT background([out, retval] BSTR* p);
        [id(0xfffffe0b), propput, bindable, displaybind]
        HRESULT backgroundColor([in] VARIANT p);
        [id(0xfffffe0b), propget, bindable, displaybind]
        HRESULT backgroundColor([out, retval] VARIANT* p);
        [id(0x80011389), propput, bindable, displaybind]
        HRESULT backgroundImage([in] BSTR p);
        [id(0x80011389), propget, bindable, displaybind]
        HRESULT backgroundImage([out, retval] BSTR* p);
        [id(0x800113b4), propput, bindable, displaybind]
        HRESULT backgroundRepeat([in] BSTR p);
        [id(0x800113b4), propget, bindable, displaybind]
        HRESULT backgroundRepeat([out, retval] BSTR* p);
        [id(0x800113b5), propput, bindable, displaybind]
        HRESULT backgroundAttachment([in] BSTR p);
        [id(0x800113b5), propget, bindable, displaybind]
        HRESULT backgroundAttachment([out, retval] BSTR* p);
        [id(0x800113b6), propput, bindable, displaybind]
        HRESULT backgroundPosition([in] BSTR p);
        [id(0x800113b6), propget, bindable, displaybind]
        HRESULT backgroundPosition([out, retval] BSTR* p);
        [id(0x800113a9), propput, bindable, displaybind]
        HRESULT backgroundPositionX([in] VARIANT p);
        [id(0x800113a9), propget, bindable, displaybind]
        HRESULT backgroundPositionX([out, retval] VARIANT* p);
        [id(0x800113aa), propput, bindable, displaybind]
        HRESULT backgroundPositionY([in] VARIANT p);
        [id(0x800113aa), propget, bindable, displaybind]
        HRESULT backgroundPositionY([out, retval] VARIANT* p);
        [id(0x800113b7), propput, bindable, displaybind]
        HRESULT wordSpacing([in] VARIANT p);
        [id(0x800113b7), propget, bindable, displaybind]
        HRESULT wordSpacing([out, retval] VARIANT* p);
        [id(0x80011390), propput, bindable, displaybind]
        HRESULT letterSpacing([in] VARIANT p);
        [id(0x80011390), propget, bindable, displaybind]
        HRESULT letterSpacing([out, retval] VARIANT* p);
        [id(0x800113ab), propput, bindable, displaybind]
        HRESULT textDecoration([in] BSTR p);
        [id(0x800113ab), propget, bindable, displaybind]
        HRESULT textDecoration([out, retval] BSTR* p);
        [id(0x8001139f), propput, bindable, displaybind]
        HRESULT textDecorationNone([in] VARIANT_BOOL p);
        [id(0x8001139f), propget, bindable, displaybind]
        HRESULT textDecorationNone([out, retval] VARIANT_BOOL* p);
        [id(0x8001139d), propput, bindable, displaybind]
        HRESULT textDecorationUnderline([in] VARIANT_BOOL p);
        [id(0x8001139d), propget, bindable, displaybind]
        HRESULT textDecorationUnderline([out, retval] VARIANT_BOOL* p);
        [id(0x800113cd), propput, bindable, displaybind]
        HRESULT textDecorationOverline([in] VARIANT_BOOL p);
        [id(0x800113cd), propget, bindable, displaybind]
        HRESULT textDecorationOverline([out, retval] VARIANT_BOOL* p);
        [id(0x8001139c), propput, bindable, displaybind]
        HRESULT textDecorationLineThrough([in] VARIANT_BOOL p);
        [id(0x8001139c), propget, bindable, displaybind]
        HRESULT textDecorationLineThrough([out, retval] VARIANT_BOOL* p);
        [id(0x8001139e), propput, bindable, displaybind]
        HRESULT textDecorationBlink([in] VARIANT_BOOL p);
        [id(0x8001139e), propget, bindable, displaybind]
        HRESULT textDecorationBlink([out, retval] VARIANT_BOOL* p);
        [id(0x800113b8), propput, bindable, displaybind]
        HRESULT verticalAlign([in] VARIANT p);
        [id(0x800113b8), propget, bindable, displaybind]
        HRESULT verticalAlign([out, retval] VARIANT* p);
        [id(0x8001138c), propput, bindable, displaybind]
        HRESULT textTransform([in] BSTR p);
        [id(0x8001138c), propget, bindable, displaybind]
        HRESULT textTransform([out, retval] BSTR* p);
        [id(0x80010048), propput, bindable, displaybind]
        HRESULT textAlign([in] BSTR p);
        [id(0x80010048), propget, bindable, displaybind]
        HRESULT textAlign([out, retval] BSTR* p);
        [id(0x8001138f), propput, bindable, displaybind]
        HRESULT textIndent([in] VARIANT p);
        [id(0x8001138f), propget, bindable, displaybind]
        HRESULT textIndent([out, retval] VARIANT* p);
        [id(0x8001138e), propput, bindable, displaybind]
        HRESULT lineHeight([in] VARIANT p);
        [id(0x8001138e), propget, bindable, displaybind]
        HRESULT lineHeight([out, retval] VARIANT* p);
        [id(0x800113ad), propput, bindable, displaybind]
        HRESULT marginTop([in] VARIANT p);
        [id(0x800113ad), propget, bindable, displaybind]
        HRESULT marginTop([out, retval] VARIANT* p);
        [id(0x800113ae), propput, bindable, displaybind]
        HRESULT marginRight([in] VARIANT p);
        [id(0x800113ae), propget, bindable, displaybind]
        HRESULT marginRight([out, retval] VARIANT* p);
        [id(0x800113af), propput, bindable, displaybind]
        HRESULT marginBottom([in] VARIANT p);
        [id(0x800113af), propget, bindable, displaybind]
        HRESULT marginBottom([out, retval] VARIANT* p);
        [id(0x800113b0), propput, bindable, displaybind]
        HRESULT marginLeft([in] VARIANT p);
        [id(0x800113b0), propget, bindable, displaybind]
        HRESULT marginLeft([out, retval] VARIANT* p);
        [id(0x800113ac), propput, bindable, displaybind]
        HRESULT margin([in] BSTR p);
        [id(0x800113ac), propget, bindable, displaybind]
        HRESULT margin([out, retval] BSTR* p);
        [id(0x80011394), propput, bindable, displaybind]
        HRESULT paddingTop([in] VARIANT p);
        [id(0x80011394), propget, bindable, displaybind]
        HRESULT paddingTop([out, retval] VARIANT* p);
        [id(0x80011395), propput, bindable, displaybind]
        HRESULT paddingRight([in] VARIANT p);
        [id(0x80011395), propget, bindable, displaybind]
        HRESULT paddingRight([out, retval] VARIANT* p);
        [id(0x80011396), propput, bindable, displaybind]
        HRESULT paddingBottom([in] VARIANT p);
        [id(0x80011396), propget, bindable, displaybind]
        HRESULT paddingBottom([out, retval] VARIANT* p);
        [id(0x80011397), propput, bindable, displaybind]
        HRESULT paddingLeft([in] VARIANT p);
        [id(0x80011397), propget, bindable, displaybind]
        HRESULT paddingLeft([out, retval] VARIANT* p);
        [id(0x80011393), propput, bindable, displaybind]
        HRESULT padding([in] BSTR p);
        [id(0x80011393), propget, bindable, displaybind]
        HRESULT padding([out, retval] BSTR* p);
        [id(0x800113b9), propput, bindable, displaybind]
        HRESULT border([in] BSTR p);
        [id(0x800113b9), propget, bindable, displaybind]
        HRESULT border([out, retval] BSTR* p);
        [id(0x800113ba), propput, bindable, displaybind]
        HRESULT borderTop([in] BSTR p);
        [id(0x800113ba), propget, bindable, displaybind]
        HRESULT borderTop([out, retval] BSTR* p);
        [id(0x800113bb), propput, bindable, displaybind]
        HRESULT borderRight([in] BSTR p);
        [id(0x800113bb), propget, bindable, displaybind]
        HRESULT borderRight([out, retval] BSTR* p);
        [id(0x800113bc), propput, bindable, displaybind]
        HRESULT borderBottom([in] BSTR p);
        [id(0x800113bc), propget, bindable, displaybind]
        HRESULT borderBottom([out, retval] BSTR* p);
        [id(0x800113bd), propput, bindable, displaybind]
        HRESULT borderLeft([in] BSTR p);
        [id(0x800113bd), propget, bindable, displaybind]
        HRESULT borderLeft([out, retval] BSTR* p);
        [id(0x800113be), propput, bindable, displaybind]
        HRESULT borderColor([in] BSTR p);
        [id(0x800113be), propget, bindable, displaybind]
        HRESULT borderColor([out, retval] BSTR* p);
        [id(0x800113bf), propput, bindable, displaybind]
        HRESULT borderTopColor([in] VARIANT p);
        [id(0x800113bf), propget, bindable, displaybind]
        HRESULT borderTopColor([out, retval] VARIANT* p);
        [id(0x800113c0), propput, bindable, displaybind]
        HRESULT borderRightColor([in] VARIANT p);
        [id(0x800113c0), propget, bindable, displaybind]
        HRESULT borderRightColor([out, retval] VARIANT* p);
        [id(0x800113c1), propput, bindable, displaybind]
        HRESULT borderBottomColor([in] VARIANT p);
        [id(0x800113c1), propget, bindable, displaybind]
        HRESULT borderBottomColor([out, retval] VARIANT* p);
        [id(0x800113c2), propput, bindable, displaybind]
        HRESULT borderLeftColor([in] VARIANT p);
        [id(0x800113c2), propget, bindable, displaybind]
        HRESULT borderLeftColor([out, retval] VARIANT* p);
        [id(0x800113c3), propput, bindable, displaybind]
        HRESULT borderWidth([in] BSTR p);
        [id(0x800113c3), propget, bindable, displaybind]
        HRESULT borderWidth([out, retval] BSTR* p);
        [id(0x800113c4), propput, bindable, displaybind]
        HRESULT borderTopWidth([in] VARIANT p);
        [id(0x800113c4), propget, bindable, displaybind]
        HRESULT borderTopWidth([out, retval] VARIANT* p);
        [id(0x800113c5), propput, bindable, displaybind]
        HRESULT borderRightWidth([in] VARIANT p);
        [id(0x800113c5), propget, bindable, displaybind]
        HRESULT borderRightWidth([out, retval] VARIANT* p);
        [id(0x800113c6), propput, bindable, displaybind]
        HRESULT borderBottomWidth([in] VARIANT p);
        [id(0x800113c6), propget, bindable, displaybind]
        HRESULT borderBottomWidth([out, retval] VARIANT* p);
        [id(0x800113c7), propput, bindable, displaybind]
        HRESULT borderLeftWidth([in] VARIANT p);
        [id(0x800113c7), propget, bindable, displaybind]
        HRESULT borderLeftWidth([out, retval] VARIANT* p);
        [id(0x800113c8), propput, bindable, displaybind]
        HRESULT borderStyle([in] BSTR p);
        [id(0x800113c8), propget, bindable, displaybind]
        HRESULT borderStyle([out, retval] BSTR* p);
        [id(0x800113c9), propput, bindable, displaybind]
        HRESULT borderTopStyle([in] BSTR p);
        [id(0x800113c9), propget, bindable, displaybind]
        HRESULT borderTopStyle([out, retval] BSTR* p);
        [id(0x800113ca), propput, bindable, displaybind]
        HRESULT borderRightStyle([in] BSTR p);
        [id(0x800113ca), propget, bindable, displaybind]
        HRESULT borderRightStyle([out, retval] BSTR* p);
        [id(0x800113cb), propput, bindable, displaybind]
        HRESULT borderBottomStyle([in] BSTR p);
        [id(0x800113cb), propget, bindable, displaybind]
        HRESULT borderBottomStyle([out, retval] BSTR* p);
        [id(0x800113cc), propput, bindable, displaybind]
        HRESULT borderLeftStyle([in] BSTR p);
        [id(0x800113cc), propget, bindable, displaybind]
        HRESULT borderLeftStyle([out, retval] BSTR* p);
        [id(0x80010005), propput, bindable, displaybind]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget, bindable, displaybind]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propput, bindable, displaybind]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget, bindable, displaybind]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x800113ce), propput, bindable, displaybind]
        HRESULT styleFloat([in] BSTR p);
        [id(0x800113ce), propget, bindable, displaybind]
        HRESULT styleFloat([out, retval] BSTR* p);
        [id(0x80011398), propput, bindable, displaybind]
        HRESULT clear([in] BSTR p);
        [id(0x80011398), propget, bindable, displaybind]
        HRESULT clear([out, retval] BSTR* p);
        [id(0x800113cf), propput, bindable, displaybind]
        HRESULT display([in] BSTR p);
        [id(0x800113cf), propget, bindable, displaybind]
        HRESULT display([out, retval] BSTR* p);
        [id(0x800113d8), propput, bindable, displaybind]
        HRESULT visibility([in] BSTR p);
        [id(0x800113d8), propget, bindable, displaybind]
        HRESULT visibility([out, retval] BSTR* p);
        [id(0x800113d0), propput, bindable, displaybind]
        HRESULT listStyleType([in] BSTR p);
        [id(0x800113d0), propget, bindable, displaybind]
        HRESULT listStyleType([out, retval] BSTR* p);
        [id(0x800113d1), propput, bindable, displaybind]
        HRESULT listStylePosition([in] BSTR p);
        [id(0x800113d1), propget, bindable, displaybind]
        HRESULT listStylePosition([out, retval] BSTR* p);
        [id(0x800113d2), propput, bindable, displaybind]
        HRESULT listStyleImage([in] BSTR p);
        [id(0x800113d2), propget, bindable, displaybind]
        HRESULT listStyleImage([out, retval] BSTR* p);
        [id(0x800113d3), propput, bindable, displaybind]
        HRESULT listStyle([in] BSTR p);
        [id(0x800113d3), propget, bindable, displaybind]
        HRESULT listStyle([out, retval] BSTR* p);
        [id(0x800113d4), propput, bindable, displaybind]
        HRESULT whiteSpace([in] BSTR p);
        [id(0x800113d4), propget, bindable, displaybind]
        HRESULT whiteSpace([out, retval] BSTR* p);
        [id(0x80010004), propput, bindable, displaybind]
        HRESULT top([in] VARIANT p);
        [id(0x80010004), propget, bindable, displaybind]
        HRESULT top([out, retval] VARIANT* p);
        [id(0x80010003), propput, bindable, displaybind]
        HRESULT left([in] VARIANT p);
        [id(0x80010003), propget, bindable, displaybind]
        HRESULT left([out, retval] VARIANT* p);
        [id(0x800113e2), propget, bindable, displaybind]
        HRESULT position([out, retval] BSTR* p);
        [id(0x800113e3), propput, bindable, displaybind]
        HRESULT zIndex([in] VARIANT p);
        [id(0x800113e3), propget, bindable, displaybind]
        HRESULT zIndex([out, retval] VARIANT* p);
        [id(0x80011392), propput, bindable, displaybind]
        HRESULT overflow([in] BSTR p);
        [id(0x80011392), propget, bindable, displaybind]
        HRESULT overflow([out, retval] BSTR* p);
        [id(0x800113d5), propput, bindable, displaybind]
        HRESULT pageBreakBefore([in] BSTR p);
        [id(0x800113d5), propget, bindable, displaybind]
        HRESULT pageBreakBefore([out, retval] BSTR* p);
        [id(0x800113d6), propput, bindable, displaybind]
        HRESULT pageBreakAfter([in] BSTR p);
        [id(0x800113d6), propget, bindable, displaybind]
        HRESULT pageBreakAfter([out, retval] BSTR* p);
        [id(0x800113eb), propput, bindable, displaybind]
        HRESULT cssText([in] BSTR p);
        [id(0x800113eb), propget, bindable, displaybind]
        HRESULT cssText([out, retval] BSTR* p);
        [id(0x80010fa0), propput, bindable, displaybind, hidden]
        HRESULT pixelTop([in] long p);
        [id(0x80010fa0), propget, bindable, displaybind, hidden]
        HRESULT pixelTop([out, retval] long* p);
        [id(0x80010fa1), propput, bindable, displaybind, hidden]
        HRESULT pixelLeft([in] long p);
        [id(0x80010fa1), propget, bindable, displaybind, hidden]
        HRESULT pixelLeft([out, retval] long* p);
        [id(0x80010fa2), propput, bindable, displaybind, hidden]
        HRESULT pixelWidth([in] long p);
        [id(0x80010fa2), propget, bindable, displaybind, hidden]
        HRESULT pixelWidth([out, retval] long* p);
        [id(0x80010fa3), propput, bindable, displaybind, hidden]
        HRESULT pixelHeight([in] long p);
        [id(0x80010fa3), propget, bindable, displaybind, hidden]
        HRESULT pixelHeight([out, retval] long* p);
        [id(0x80010fa4), propput, bindable, displaybind]
        HRESULT posTop([in] single p);
        [id(0x80010fa4), propget, bindable, displaybind]
        HRESULT posTop([out, retval] single* p);
        [id(0x80010fa5), propput, bindable, displaybind]
        HRESULT posLeft([in] single p);
        [id(0x80010fa5), propget, bindable, displaybind]
        HRESULT posLeft([out, retval] single* p);
        [id(0x80010fa6), propput, bindable, displaybind]
        HRESULT posWidth([in] single p);
        [id(0x80010fa6), propget, bindable, displaybind]
        HRESULT posWidth([out, retval] single* p);
        [id(0x80010fa7), propput, bindable, displaybind]
        HRESULT posHeight([in] single p);
        [id(0x80010fa7), propget, bindable, displaybind]
        HRESULT posHeight([out, retval] single* p);
        [id(0x800113ee), propput, bindable, displaybind]
        HRESULT cursor([in] BSTR p);
        [id(0x800113ee), propget, bindable, displaybind]
        HRESULT cursor([out, retval] BSTR* p);
        [id(0x800113e4), propput, bindable, displaybind]
        HRESULT clip([in] BSTR p);
        [id(0x800113e4), propget, bindable, displaybind]
        HRESULT clip([out, retval] BSTR* p);
        [id(0x800113da), propput, bindable, displaybind]
        HRESULT filter([in] BSTR p);
        [id(0x800113da), propget, bindable, displaybind]
        HRESULT filter([out, retval] BSTR* p);
        [id(0x800101f5)]
        HRESULT setAttribute(
                        [in] BSTR strAttributeName, 
                        [in] VARIANT AttributeValue, 
                        [in, optional, defaultvalue(1)] long lFlags);
        [id(0x800101f6)]
        HRESULT getAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(0)] long lFlags, 
                        [out, retval] VARIANT* AttributeValue);
        [id(0x800101f7)]
        HRESULT removeAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(1)] long lFlags, 
                        [out, retval] VARIANT_BOOL* pfSuccess);
        [id(0x80010fa8)]
        HRESULT toString([out, retval] BSTR* String);
    };

    [
      odl,
      uuid(3050F3EE-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFiltersCollection : IDispatch {
        [id(0x000003e9), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in] VARIANT* pvarIndex, 
                        [out, retval] VARIANT* pvarResult);
    };

    [
      odl,
      uuid(3050F427-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorSite : IUnknown {
        HRESULT _stdcall GetElement([out, retval] IHTMLElement** ppElement);
        HRESULT _stdcall RegisterNotification([in] long lEvent);
    };

    [
      odl,
      uuid(3050F425-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehavior : IUnknown {
        HRESULT _stdcall Init([in] IElementBehaviorSite* pBehaviorSite);
        HRESULT _stdcall Notify(
                        [in] long lEvent, 
                        [in, out] VARIANT* pVar);
        HRESULT _stdcall Detach();
    };

    [
      odl,
      uuid(3050F429-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorFactory : IUnknown {
        HRESULT _stdcall FindBehavior(
                        [in] BSTR bstrBehavior, 
                        [in] BSTR bstrBehaviorUrl, 
                        [in] IElementBehaviorSite* pSite, 
                        [out, retval] IElementBehavior** ppBehavior);
    };

    [
      odl,
      uuid(3050F489-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorSiteOM : IUnknown {
        HRESULT _stdcall RegisterEvent(
                        [in] LPWSTR pchEvent, 
                        [in] long lFlags, 
                        [out, retval] long* plCookie);
        HRESULT _stdcall GetEventCookie(
                        [in] LPWSTR pchEvent, 
                        [out, retval] long* plCookie);
        HRESULT _stdcall FireEvent(
                        [in] long lCookie, 
                        [in] IHTMLEventObj* pEventObject);
        HRESULT _stdcall CreateEventObject([out, retval] IHTMLEventObj** ppEventObject);
        HRESULT _stdcall RegisterName([in] LPWSTR pchName);
        HRESULT _stdcall RegisterUrn([in] LPWSTR pchUrn);
    };

    [
      odl,
      uuid(3050F4AA-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorRender : IUnknown {
        HRESULT _stdcall Draw(
                        [in] wireHDC hdc, 
                        [in] long lLayer, 
                        [in] tagRECT* pRect, 
                        [in] IUnknown* pReserved);
        HRESULT _stdcall GetRenderInfo([out, retval] long* plRenderInfo);
        HRESULT _stdcall HitTestPoint(
                        [in] tagPOINT* pPoint, 
                        [in] IUnknown* pReserved, 
                        [out, retval] long* pbHit);
    };

    typedef [public]
    _RemotableHandle* wireHDC;

    typedef struct tag_RemotableHandle {
                
long fContext;
                
__MIDL_IWinTypes_0009 u;
    } _RemotableHandle;

    typedef union tag__MIDL_IWinTypes_0009 {
                
long hInproc;
                
long hRemote;
    } __MIDL_IWinTypes_0009;

    typedef struct tagtagRECT {
                
long left;
                
long top;
                
long right;
                
long bottom;
    } tagRECT;

    typedef struct tagtagPOINT {
                
long x;
                
long y;
    } tagPOINT;

    [
      odl,
      uuid(3050F4A7-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorSiteRender : IUnknown {
        HRESULT _stdcall Invalidate([in] tagRECT* pRect);
        HRESULT _stdcall InvalidateRenderInfo();
        HRESULT _stdcall InvalidateStyle();
    };

    typedef enum {
        htmlDesignModeInherit = 0xfffffffe,
        htmlDesignModeOn = 0xffffffff,
        htmlDesignModeOff = 0,
        htmlDesignMode_Max = 0x7fffffff
    } _htmlDesignMode;

    typedef enum {
        htmlZOrderFront = 0,
        htmlZOrderBack = 1,
        htmlZOrder_Max = 0x7fffffff
    } _htmlZOrder;

    typedef enum {
        htmlClearNotSet = 0,
        htmlClearAll = 1,
        htmlClearLeft = 2,
        htmlClearRight = 3,
        htmlClearBoth = 4,
        htmlClearNone = 5,
        htmlClear_Max = 0x7fffffff
    } _htmlClear;

    typedef enum {
        htmlControlAlignNotSet = 0,
        htmlControlAlignLeft = 1,
        htmlControlAlignCenter = 2,
        htmlControlAlignRight = 3,
        htmlControlAlignTextTop = 4,
        htmlControlAlignAbsMiddle = 5,
        htmlControlAlignBaseline = 6,
        htmlControlAlignAbsBottom = 7,
        htmlControlAlignBottom = 8,
        htmlControlAlignMiddle = 9,
        htmlControlAlignTop = 10,
        htmlControlAlign_Max = 0x7fffffff
    } _htmlControlAlign;

    typedef enum {
        htmlBlockAlignNotSet = 0,
        htmlBlockAlignLeft = 1,
        htmlBlockAlignCenter = 2,
        htmlBlockAlignRight = 3,
        htmlBlockAlignJustify = 4,
        htmlBlockAlign_Max = 0x7fffffff
    } _htmlBlockAlign;

    typedef enum {
        htmlReadyStateuninitialized = 0,
        htmlReadyStateloading = 1,
        htmlReadyStateloaded = 2,
        htmlReadyStateinteractive = 3,
        htmlReadyStatecomplete = 4,
        htmlReadyState_Max = 0x7fffffff
    } _htmlReadyState;

    typedef enum {
        htmlLoopLoopInfinite = 0xffffffff,
        htmlLoop_Max = 0x7fffffff
    } _htmlLoop;

    typedef enum {
        mediaTypeNotSet = 0,
        mediaTypeAll = 511,
        mediaTypeAural = 1,
        mediaTypeBraille = 2,
        mediaTypeEmbossed = 4,
        mediaTypeHandheld = 8,
        mediaTypePrint = 16,
        mediaTypeProjection = 32,
        mediaTypeScreen = 64,
        mediaTypeTty = 128,
        mediaTypeTv = 256,
        mediaType_Max = 0x7fffffff
    } _mediaType;

    typedef enum {
        styleTextTransformNotSet = 0,
        styleTextTransformCapitalize = 1,
        styleTextTransformLowercase = 2,
        styleTextTransformUppercase = 3,
        styleTextTransformNone = 4,
        styleTextTransform_Max = 0x7fffffff
    } _styleTextTransform;

    typedef enum {
        styleDataRepeatNone = 0,
        styleDataRepeatInner = 1,
        styleDataRepeat_Max = 0x7fffffff
    } _styleDataRepeat;

    typedef enum {
        styleOverflowNotSet = 0,
        styleOverflowAuto = 1,
        styleOverflowHidden = 2,
        styleOverflowVisible = 3,
        styleOverflowScroll = 4,
        styleOverflow_Max = 0x7fffffff
    } _styleOverflow;

    typedef enum {
        styleTableLayoutNotSet = 0,
        styleTableLayoutAuto = 1,
        styleTableLayoutFixed = 2,
        styleTableLayout_Max = 0x7fffffff
    } _styleTableLayout;

    typedef enum {
        styleBorderCollapseNotSet = 0,
        styleBorderCollapseSeparate = 1,
        styleBorderCollapseCollapse = 2,
        styleBorderCollapse_Max = 0x7fffffff
    } _styleBorderCollapse;

    typedef enum {
        styleFontStyleNotSet = 0,
        styleFontStyleItalic = 1,
        styleFontStyleOblique = 2,
        styleFontStyleNormal = 3,
        styleFontStyle_Max = 0x7fffffff
    } _styleFontStyle;

    typedef enum {
        styleFontVariantNotSet = 0,
        styleFontVariantSmallCaps = 1,
        styleFontVariantNormal = 2,
        styleFontVariant_Max = 0x7fffffff
    } _styleFontVariant;

    typedef enum {
        styleBackgroundRepeatRepeat = 0,
        styleBackgroundRepeatRepeatX = 1,
        styleBackgroundRepeatRepeatY = 2,
        styleBackgroundRepeatNoRepeat = 3,
        styleBackgroundRepeatNotSet = 4,
        styleBackgroundRepeat_Max = 0x7fffffff
    } _styleBackgroundRepeat;

    typedef enum {
        styleBackgroundAttachmentFixed = 0,
        styleBackgroundAttachmentScroll = 1,
        styleBackgroundAttachmentNotSet = 2,
        styleBackgroundAttachment_Max = 0x7fffffff
    } _styleBackgroundAttachment;

    typedef enum {
        styleVerticalAlignAuto = 0,
        styleVerticalAlignBaseline = 1,
        styleVerticalAlignSub = 2,
        styleVerticalAlignSuper = 3,
        styleVerticalAlignTop = 4,
        styleVerticalAlignTextTop = 5,
        styleVerticalAlignMiddle = 6,
        styleVerticalAlignBottom = 7,
        styleVerticalAlignTextBottom = 8,
        styleVerticalAlignInherit = 9,
        styleVerticalAlignNotSet = 10,
        styleVerticalAlign_Max = 0x7fffffff
    } _styleVerticalAlign;

    typedef enum {
        styleFontWeightNotSet = 0,
        styleFontWeight100 = 1,
        styleFontWeight200 = 2,
        styleFontWeight300 = 3,
        styleFontWeight400 = 4,
        styleFontWeight500 = 5,
        styleFontWeight600 = 6,
        styleFontWeight700 = 7,
        styleFontWeight800 = 8,
        styleFontWeight900 = 9,
        styleFontWeightNormal = 10,
        styleFontWeightBold = 11,
        styleFontWeightBolder = 12,
        styleFontWeightLighter = 13,
        styleFontWeight_Max = 0x7fffffff
    } _styleFontWeight;

    typedef enum {
        styleBackgroundPositionXNotSet = 0,
        styleBackgroundPositionXLeft = 1,
        styleBackgroundPositionXCenter = 2,
        styleBackgroundPositionXRight = 3,
        styleBackgroundPositionX_Max = 0x7fffffff
    } _styleBackgroundPositionX;

    typedef enum {
        styleBackgroundPositionYNotSet = 0,
        styleBackgroundPositionYTop = 1,
        styleBackgroundPositionYCenter = 2,
        styleBackgroundPositionYBottom = 3,
        styleBackgroundPositionY_Max = 0x7fffffff
    } _styleBackgroundPositionY;

    typedef enum {
        styleFontSizeXXSmall = 0,
        styleFontSizeXSmall = 1,
        styleFontSizeSmall = 2,
        styleFontSizeMedium = 3,
        styleFontSizeLarge = 4,
        styleFontSizeXLarge = 5,
        styleFontSizeXXLarge = 6,
        styleFontSizeSmaller = 7,
        styleFontSizeLarger = 8,
        styleFontSize_Max = 0x7fffffff
    } _styleFontSize;

    typedef enum {
        styleAutoAuto = 0,
        styleAuto_Max = 0x7fffffff
    } _styleAuto;

    typedef enum {
        styleNormalNormal = 0,
        styleNormal_Max = 0x7fffffff
    } _styleNormal;

    typedef enum {
        styleBorderWidthThin = 0,
        styleBorderWidthMedium = 1,
        styleBorderWidthThick = 2,
        styleBorderWidth_Max = 0x7fffffff
    } _styleBorderWidth;

    typedef enum {
        stylePositionNotSet = 0,
        stylePositionstatic = 1,
        stylePositionrelative = 2,
        stylePositionabsolute = 3,
        stylePositionfixed = 4,
        stylePosition_Max = 0x7fffffff
    } _stylePosition;

    typedef enum {
        styleBorderStyleNotSet = 0,
        styleBorderStyleDotted = 1,
        styleBorderStyleDashed = 2,
        styleBorderStyleSolid = 3,
        styleBorderStyleDouble = 4,
        styleBorderStyleGroove = 5,
        styleBorderStyleRidge = 6,
        styleBorderStyleInset = 7,
        styleBorderStyleOutset = 8,
        styleBorderStyleWindowInset = 9,
        styleBorderStyleNone = 10,
        styleBorderStyle_Max = 0x7fffffff
    } _styleBorderStyle;

    typedef enum {
        styleStyleFloatNotSet = 0,
        styleStyleFloatLeft = 1,
        styleStyleFloatRight = 2,
        styleStyleFloatNone = 3,
        styleStyleFloat_Max = 0x7fffffff
    } _styleStyleFloat;

    typedef enum {
        styleDisplayNotSet = 0,
        styleDisplayBlock = 1,
        styleDisplayInline = 2,
        styleDisplayListItem = 3,
        styleDisplayNone = 4,
        styleDisplayTableHeaderGroup = 5,
        styleDisplayTableFooterGroup = 6,
        styleDisplayInlineBlock = 7,
        styleDisplay_Max = 0x7fffffff
    } _styleDisplay;

    typedef enum {
        styleVisibilityNotSet = 0,
        styleVisibilityInherit = 1,
        styleVisibilityVisible = 2,
        styleVisibilityHidden = 3,
        styleVisibility_Max = 0x7fffffff
    } _styleVisibility;

    typedef enum {
        styleListStyleTypeNotSet = 0,
        styleListStyleTypeDisc = 1,
        styleListStyleTypeCircle = 2,
        styleListStyleTypeSquare = 3,
        styleListStyleTypeDecimal = 4,
        styleListStyleTypeLowerRoman = 5,
        styleListStyleTypeUpperRoman = 6,
        styleListStyleTypeLowerAlpha = 7,
        styleListStyleTypeUpperAlpha = 8,
        styleListStyleTypeNone = 9,
        styleListStyleType_Max = 0x7fffffff
    } _styleListStyleType;

    typedef enum {
        styleListStylePositionNotSet = 0,
        styleListStylePositionInside = 1,
        styleListStylePositionOutSide = 2,
        styleListStylePosition_Max = 0x7fffffff
    } _styleListStylePosition;

    typedef enum {
        styleWhiteSpaceNotSet = 0,
        styleWhiteSpaceNormal = 1,
        styleWhiteSpacePre = 2,
        styleWhiteSpaceNowrap = 3,
        styleWhiteSpace_Max = 0x7fffffff
    } _styleWhiteSpace;

    typedef enum {
        stylePageBreakNotSet = 0,
        stylePageBreakAuto = 1,
        stylePageBreakAlways = 2,
        stylePageBreakLeft = 3,
        stylePageBreakRight = 4,
        stylePageBreak_Max = 0x7fffffff
    } _stylePageBreak;

    typedef enum {
        styleCursorAuto = 0,
        styleCursorCrosshair = 1,
        styleCursorDefault = 2,
        styleCursorHand = 3,
        styleCursorMove = 4,
        styleCursorE_resize = 5,
        styleCursorNe_resize = 6,
        styleCursorNw_resize = 7,
        styleCursorN_resize = 8,
        styleCursorSe_resize = 9,
        styleCursorSw_resize = 10,
        styleCursorS_resize = 11,
        styleCursorW_resize = 12,
        styleCursorText = 13,
        styleCursorWait = 14,
        styleCursorHelp = 15,
        styleCursorPointer = 16,
        styleCursorProgress = 17,
        styleCursorNot_allowed = 18,
        styleCursorNo_drop = 19,
        styleCursorVertical_text = 20,
        styleCursorall_scroll = 21,
        styleCursorcol_resize = 22,
        styleCursorrow_resize = 23,
        styleCursorcustom = 24,
        styleCursorNotSet = 25,
        styleCursor_Max = 0x7fffffff
    } _styleCursor;

    typedef enum {
        styleDirNotSet = 0,
        styleDirLeftToRight = 1,
        styleDirRightToLeft = 2,
        styleDirInherit = 3,
        styleDir_Max = 0x7fffffff
    } _styleDir;

    typedef enum {
        styleBidiNotSet = 0,
        styleBidiNormal = 1,
        styleBidiEmbed = 2,
        styleBidiOverride = 3,
        styleBidiInherit = 4,
        styleBidi_Max = 0x7fffffff
    } _styleBidi;

    typedef enum {
        styleImeModeAuto = 0,
        styleImeModeActive = 1,
        styleImeModeInactive = 2,
        styleImeModeDisabled = 3,
        styleImeModeNotSet = 4,
        styleImeMode_Max = 0x7fffffff
    } _styleImeMode;

    typedef enum {
        styleRubyAlignNotSet = 0,
        styleRubyAlignAuto = 1,
        styleRubyAlignLeft = 2,
        styleRubyAlignCenter = 3,
        styleRubyAlignRight = 4,
        styleRubyAlignDistributeLetter = 5,
        styleRubyAlignDistributeSpace = 6,
        styleRubyAlignLineEdge = 7,
        styleRubyAlign_Max = 0x7fffffff
    } _styleRubyAlign;

    typedef enum {
        styleRubyPositionNotSet = 0,
        styleRubyPositionAbove = 1,
        styleRubyPositionInline = 2,
        styleRubyPosition_Max = 0x7fffffff
    } _styleRubyPosition;

    typedef enum {
        styleRubyOverhangNotSet = 0,
        styleRubyOverhangAuto = 1,
        styleRubyOverhangWhitespace = 2,
        styleRubyOverhangNone = 3,
        styleRubyOverhang_Max = 0x7fffffff
    } _styleRubyOverhang;

    typedef enum {
        styleLayoutGridCharNotSet = 0,
        styleLayoutGridCharAuto = 1,
        styleLayoutGridCharNone = 2,
        styleLayoutGridChar_Max = 0x7fffffff
    } _styleLayoutGridChar;

    typedef enum {
        styleLayoutGridLineNotSet = 0,
        styleLayoutGridLineAuto = 1,
        styleLayoutGridLineNone = 2,
        styleLayoutGridLine_Max = 0x7fffffff
    } _styleLayoutGridLine;

    typedef enum {
        styleLayoutGridModeNotSet = 0,
        styleLayoutGridModeChar = 1,
        styleLayoutGridModeLine = 2,
        styleLayoutGridModeBoth = 3,
        styleLayoutGridModeNone = 4,
        styleLayoutGridMode_Max = 0x7fffffff
    } _styleLayoutGridMode;

    typedef enum {
        styleLayoutGridTypeNotSet = 0,
        styleLayoutGridTypeLoose = 1,
        styleLayoutGridTypeStrict = 2,
        styleLayoutGridTypeFixed = 3,
        styleLayoutGridType_Max = 0x7fffffff
    } _styleLayoutGridType;

    typedef enum {
        styleLineBreakNotSet = 0,
        styleLineBreakNormal = 1,
        styleLineBreakStrict = 2,
        styleLineBreak_Max = 0x7fffffff
    } _styleLineBreak;

    typedef enum {
        styleWordBreakNotSet = 0,
        styleWordBreakNormal = 1,
        styleWordBreakBreakAll = 2,
        styleWordBreakKeepAll = 3,
        styleWordBreak_Max = 0x7fffffff
    } _styleWordBreak;

    typedef enum {
        styleWordWrapNotSet = 0,
        styleWordWrapOff = 1,
        styleWordWrapOn = 2,
        styleWordWrap_Max = 0x7fffffff
    } _styleWordWrap;

    typedef enum {
        styleTextJustifyNotSet = 0,
        styleTextJustifyInterWord = 1,
        styleTextJustifyNewspaper = 2,
        styleTextJustifyDistribute = 3,
        styleTextJustifyDistributeAllLines = 4,
        styleTextJustifyInterIdeograph = 5,
        styleTextJustifyInterCluster = 6,
        styleTextJustifyKashida = 7,
        styleTextJustifyAuto = 8,
        styleTextJustify_Max = 0x7fffffff
    } _styleTextJustify;

    typedef enum {
        styleTextAlignLastNotSet = 0,
        styleTextAlignLastLeft = 1,
        styleTextAlignLastCenter = 2,
        styleTextAlignLastRight = 3,
        styleTextAlignLastJustify = 4,
        styleTextAlignLastAuto = 5,
        styleTextAlignLast_Max = 0x7fffffff
    } _styleTextAlignLast;

    typedef enum {
        styleTextJustifyTrimNotSet = 0,
        styleTextJustifyTrimNone = 1,
        styleTextJustifyTrimPunctuation = 2,
        styleTextJustifyTrimPunctAndKana = 3,
        styleTextJustifyTrim_Max = 0x7fffffff
    } _styleTextJustifyTrim;

    typedef enum {
        styleAcceleratorFalse = 0,
        styleAcceleratorTrue = 1,
        styleAccelerator_Max = 0x7fffffff
    } _styleAccelerator;

    typedef enum {
        styleLayoutFlowHorizontal = 0,
        styleLayoutFlowVerticalIdeographic = 1,
        styleLayoutFlowNotSet = 2,
        styleLayoutFlow_Max = 0x7fffffff
    } _styleLayoutFlow;

    typedef enum {
        styleWritingModeLrtb = 0,
        styleWritingModeTbrl = 1,
        styleWritingModeNotSet = 2,
        styleWritingMode_Max = 0x7fffffff
    } _styleWritingMode;

    typedef enum {
        styleBoolFalse = 0,
        styleBoolTrue = 1,
        styleBool_Max = 0x7fffffff
    } _styleBool;

    typedef enum {
        styleTextUnderlinePositionBelow = 0,
        styleTextUnderlinePositionAbove = 1,
        styleTextUnderlinePositionAuto = 2,
        styleTextUnderlinePositionNotSet = 3,
        styleTextUnderlinePosition_Max = 0x7fffffff
    } _styleTextUnderlinePosition;

    typedef enum {
        styleTextOverflowClip = 0,
        styleTextOverflowEllipsis = 1,
        styleTextOverflowNotSet = 2,
        styleTextOverflow_Max = 0x7fffffff
    } _styleTextOverflow;

    [
      odl,
      uuid(3050F4A2-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyle2 : IDispatch {
        [id(0x800113ea), propput, bindable, displaybind]
        HRESULT tableLayout([in] BSTR p);
        [id(0x800113ea), propget, bindable, displaybind]
        HRESULT tableLayout([out, retval] BSTR* p);
        [id(0x800113dc), propput, bindable, displaybind]
        HRESULT borderCollapse([in] BSTR p);
        [id(0x800113dc), propget, bindable, displaybind]
        HRESULT borderCollapse([out, retval] BSTR* p);
        [id(0x800113ff), propput, bindable, displaybind]
        HRESULT direction([in] BSTR p);
        [id(0x800113ff), propget, bindable, displaybind]
        HRESULT direction([out, retval] BSTR* p);
        [id(0x800113fb), propput, bindable, displaybind]
        HRESULT behavior([in] BSTR p);
        [id(0x800113fb), propget, bindable, displaybind]
        HRESULT behavior([out, retval] BSTR* p);
        [id(0x800101f8)]
        HRESULT setExpression(
                        [in] BSTR propname, 
                        [in] BSTR expression, 
                        [in, optional, defaultvalue("")] BSTR language);
        [id(0x800101f9)]
        HRESULT getExpression(
                        [in] BSTR propname, 
                        [out, retval] VARIANT* expression);
        [id(0x800101fa)]
        HRESULT removeExpression(
                        [in] BSTR propname, 
                        [out, retval] VARIANT_BOOL* pfSuccess);
        [id(0x800113e2), propput, bindable, displaybind]
        HRESULT position([in] BSTR p);
        [id(0x800113e2), propget, bindable, displaybind]
        HRESULT position([out, retval] BSTR* p);
        [id(0x800113fe), propput, bindable, displaybind]
        HRESULT unicodeBidi([in] BSTR p);
        [id(0x800113fe), propget, bindable, displaybind]
        HRESULT unicodeBidi([out, retval] BSTR* p);
        [id(0x8001004e), propput, bindable, displaybind]
        HRESULT bottom([in] VARIANT p);
        [id(0x8001004e), propget, bindable, displaybind]
        HRESULT bottom([out, retval] VARIANT* p);
        [id(0x8001004d), propput, bindable, displaybind]
        HRESULT right([in] VARIANT p);
        [id(0x8001004d), propget, bindable, displaybind]
        HRESULT right([out, retval] VARIANT* p);
        [id(0x80010fa9), propput, bindable, displaybind, hidden]
        HRESULT pixelBottom([in] long p);
        [id(0x80010fa9), propget, bindable, displaybind, hidden]
        HRESULT pixelBottom([out, retval] long* p);
        [id(0x80010faa), propput, bindable, displaybind, hidden]
        HRESULT pixelRight([in] long p);
        [id(0x80010faa), propget, bindable, displaybind, hidden]
        HRESULT pixelRight([out, retval] long* p);
        [id(0x80010fab), propput, bindable, displaybind]
        HRESULT posBottom([in] single p);
        [id(0x80010fab), propget, bindable, displaybind]
        HRESULT posBottom([out, retval] single* p);
        [id(0x80010fac), propput, bindable, displaybind]
        HRESULT posRight([in] single p);
        [id(0x80010fac), propget, bindable, displaybind]
        HRESULT posRight([out, retval] single* p);
        [id(0x80011400), propput, bindable, displaybind]
        HRESULT imeMode([in] BSTR p);
        [id(0x80011400), propget, bindable, displaybind]
        HRESULT imeMode([out, retval] BSTR* p);
        [id(0x80011401), propput, bindable, displaybind]
        HRESULT rubyAlign([in] BSTR p);
        [id(0x80011401), propget, bindable, displaybind]
        HRESULT rubyAlign([out, retval] BSTR* p);
        [id(0x80011402), propput, bindable, displaybind]
        HRESULT rubyPosition([in] BSTR p);
        [id(0x80011402), propget, bindable, displaybind]
        HRESULT rubyPosition([out, retval] BSTR* p);
        [id(0x80011403), propput, bindable, displaybind]
        HRESULT rubyOverhang([in] BSTR p);
        [id(0x80011403), propget, bindable, displaybind]
        HRESULT rubyOverhang([out, retval] BSTR* p);
        [id(0x80011407), propput, bindable, displaybind]
        HRESULT layoutGridChar([in] VARIANT p);
        [id(0x80011407), propget, bindable, displaybind]
        HRESULT layoutGridChar([out, retval] VARIANT* p);
        [id(0x80011408), propput, bindable, displaybind]
        HRESULT layoutGridLine([in] VARIANT p);
        [id(0x80011408), propget, bindable, displaybind]
        HRESULT layoutGridLine([out, retval] VARIANT* p);
        [id(0x80011409), propput, bindable, displaybind]
        HRESULT layoutGridMode([in] BSTR p);
        [id(0x80011409), propget, bindable, displaybind]
        HRESULT layoutGridMode([out, retval] BSTR* p);
        [id(0x8001140a), propput, bindable, displaybind]
        HRESULT layoutGridType([in] BSTR p);
        [id(0x8001140a), propget, bindable, displaybind]
        HRESULT layoutGridType([out, retval] BSTR* p);
        [id(0x8001140b), propput, bindable, displaybind]
        HRESULT layoutGrid([in] BSTR p);
        [id(0x8001140b), propget, bindable, displaybind]
        HRESULT layoutGrid([out, retval] BSTR* p);
        [id(0x8001140e), propput, bindable, displaybind]
        HRESULT wordBreak([in] BSTR p);
        [id(0x8001140e), propget, bindable, displaybind]
        HRESULT wordBreak([out, retval] BSTR* p);
        [id(0x8001140d), propput, bindable, displaybind]
        HRESULT lineBreak([in] BSTR p);
        [id(0x8001140d), propget, bindable, displaybind]
        HRESULT lineBreak([out, retval] BSTR* p);
        [id(0x8001140f), propput, bindable, displaybind]
        HRESULT textJustify([in] BSTR p);
        [id(0x8001140f), propget, bindable, displaybind]
        HRESULT textJustify([out, retval] BSTR* p);
        [id(0x80011410), propput, bindable, displaybind]
        HRESULT textJustifyTrim([in] BSTR p);
        [id(0x80011410), propget, bindable, displaybind]
        HRESULT textJustifyTrim([out, retval] BSTR* p);
        [id(0x80011411), propput, bindable, displaybind]
        HRESULT textKashida([in] VARIANT p);
        [id(0x80011411), propget, bindable, displaybind]
        HRESULT textKashida([out, retval] VARIANT* p);
        [id(0x8001140c), propput, bindable, displaybind]
        HRESULT textAutospace([in] BSTR p);
        [id(0x8001140c), propget, bindable, displaybind]
        HRESULT textAutospace([out, retval] BSTR* p);
        [id(0x80011413), propput, bindable, displaybind]
        HRESULT overflowX([in] BSTR p);
        [id(0x80011413), propget, bindable, displaybind]
        HRESULT overflowX([out, retval] BSTR* p);
        [id(0x80011414), propput, bindable, displaybind]
        HRESULT overflowY([in] BSTR p);
        [id(0x80011414), propget, bindable, displaybind]
        HRESULT overflowY([out, retval] BSTR* p);
        [id(0x8001141b), propput, bindable, displaybind]
        HRESULT accelerator([in] BSTR p);
        [id(0x8001141b), propget, bindable, displaybind]
        HRESULT accelerator([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F656-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyle3 : IDispatch {
        [id(0x80011423), propput, bindable, displaybind]
        HRESULT layoutFlow([in] BSTR p);
        [id(0x80011423), propget, bindable, displaybind]
        HRESULT layoutFlow([out, retval] BSTR* p);
        [id(0x80011421), propput, bindable, displaybind]
        HRESULT zoom([in] VARIANT p);
        [id(0x80011421), propget, bindable, displaybind]
        HRESULT zoom([out, retval] VARIANT* p);
        [id(0x80011426), propput, bindable, displaybind]
        HRESULT wordWrap([in] BSTR p);
        [id(0x80011426), propget, bindable, displaybind]
        HRESULT wordWrap([out, retval] BSTR* p);
        [id(0x80011427), propput, bindable, displaybind]
        HRESULT textUnderlinePosition([in] BSTR p);
        [id(0x80011427), propget, bindable, displaybind]
        HRESULT textUnderlinePosition([out, retval] BSTR* p);
        [id(0x8001143c), propput, bindable, displaybind]
        HRESULT scrollbarBaseColor([in] VARIANT p);
        [id(0x8001143c), propget, bindable, displaybind]
        HRESULT scrollbarBaseColor([out, retval] VARIANT* p);
        [id(0x8001143d), propput, bindable, displaybind]
        HRESULT scrollbarFaceColor([in] VARIANT p);
        [id(0x8001143d), propget, bindable, displaybind]
        HRESULT scrollbarFaceColor([out, retval] VARIANT* p);
        [id(0x8001143e), propput, bindable, displaybind]
        HRESULT scrollbar3dLightColor([in] VARIANT p);
        [id(0x8001143e), propget, bindable, displaybind]
        HRESULT scrollbar3dLightColor([out, retval] VARIANT* p);
        [id(0x8001143f), propput, bindable, displaybind]
        HRESULT scrollbarShadowColor([in] VARIANT p);
        [id(0x8001143f), propget, bindable, displaybind]
        HRESULT scrollbarShadowColor([out, retval] VARIANT* p);
        [id(0x80011440), propput, bindable, displaybind]
        HRESULT scrollbarHighlightColor([in] VARIANT p);
        [id(0x80011440), propget, bindable, displaybind]
        HRESULT scrollbarHighlightColor([out, retval] VARIANT* p);
        [id(0x80011441), propput, bindable, displaybind]
        HRESULT scrollbarDarkShadowColor([in] VARIANT p);
        [id(0x80011441), propget, bindable, displaybind]
        HRESULT scrollbarDarkShadowColor([out, retval] VARIANT* p);
        [id(0x80011442), propput, bindable, displaybind]
        HRESULT scrollbarArrowColor([in] VARIANT p);
        [id(0x80011442), propget, bindable, displaybind]
        HRESULT scrollbarArrowColor([out, retval] VARIANT* p);
        [id(0x8001144c), propput, bindable, displaybind]
        HRESULT scrollbarTrackColor([in] VARIANT p);
        [id(0x8001144c), propget, bindable, displaybind]
        HRESULT scrollbarTrackColor([out, retval] VARIANT* p);
        [id(0x80011448), propput, bindable, displaybind]
        HRESULT writingMode([in] BSTR p);
        [id(0x80011448), propget, bindable, displaybind]
        HRESULT writingMode([out, retval] BSTR* p);
        [id(0x80011453), propput, bindable, displaybind]
        HRESULT textAlignLast([in] BSTR p);
        [id(0x80011453), propget, bindable, displaybind]
        HRESULT textAlignLast([out, retval] BSTR* p);
        [id(0x80011454), propput, bindable, displaybind]
        HRESULT textKashidaSpace([in] VARIANT p);
        [id(0x80011454), propget, bindable, displaybind]
        HRESULT textKashidaSpace([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F816-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyle4 : IDispatch {
        [id(0x80011459), propput, bindable, displaybind]
        HRESULT textOverflow([in] BSTR p);
        [id(0x80011459), propget, bindable, displaybind]
        HRESULT textOverflow([out, retval] BSTR* p);
        [id(0x8001145b), propput, bindable, displaybind]
        HRESULT minHeight([in] VARIANT p);
        [id(0x8001145b), propget, bindable, displaybind]
        HRESULT minHeight([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLRuleStyle : IDispatch {
        [id(0x8001139a), propput, bindable, displaybind]
        HRESULT fontFamily([in] BSTR p);
        [id(0x8001139a), propget, bindable, displaybind]
        HRESULT fontFamily([out, retval] BSTR* p);
        [id(0x800113a0), propput, bindable, displaybind]
        HRESULT fontStyle([in] BSTR p);
        [id(0x800113a0), propget, bindable, displaybind]
        HRESULT fontStyle([out, retval] BSTR* p);
        [id(0x800113a1), propput, bindable, displaybind]
        HRESULT fontVariant([in] BSTR p);
        [id(0x800113a1), propget, bindable, displaybind]
        HRESULT fontVariant([out, retval] BSTR* p);
        [id(0x800113a3), propput, bindable, displaybind]
        HRESULT fontWeight([in] BSTR p);
        [id(0x800113a3), propget, bindable, displaybind]
        HRESULT fontWeight([out, retval] BSTR* p);
        [id(0x8001139b), propput, bindable, displaybind]
        HRESULT fontSize([in] VARIANT p);
        [id(0x8001139b), propget, bindable, displaybind]
        HRESULT fontSize([out, retval] VARIANT* p);
        [id(0x800113b1), propput, bindable, displaybind]
        HRESULT font([in] BSTR p);
        [id(0x800113b1), propget, bindable, displaybind]
        HRESULT font([out, retval] BSTR* p);
        [id(0x8001138a), propput, bindable, displaybind]
        HRESULT color([in] VARIANT p);
        [id(0x8001138a), propget, bindable, displaybind]
        HRESULT color([out, retval] VARIANT* p);
        [id(0x800113a8), propput, bindable, displaybind]
        HRESULT background([in] BSTR p);
        [id(0x800113a8), propget, bindable, displaybind]
        HRESULT background([out, retval] BSTR* p);
        [id(0xfffffe0b), propput, bindable, displaybind]
        HRESULT backgroundColor([in] VARIANT p);
        [id(0xfffffe0b), propget, bindable, displaybind]
        HRESULT backgroundColor([out, retval] VARIANT* p);
        [id(0x80011389), propput, bindable, displaybind]
        HRESULT backgroundImage([in] BSTR p);
        [id(0x80011389), propget, bindable, displaybind]
        HRESULT backgroundImage([out, retval] BSTR* p);
        [id(0x800113b4), propput, bindable, displaybind]
        HRESULT backgroundRepeat([in] BSTR p);
        [id(0x800113b4), propget, bindable, displaybind]
        HRESULT backgroundRepeat([out, retval] BSTR* p);
        [id(0x800113b5), propput, bindable, displaybind]
        HRESULT backgroundAttachment([in] BSTR p);
        [id(0x800113b5), propget, bindable, displaybind]
        HRESULT backgroundAttachment([out, retval] BSTR* p);
        [id(0x800113b6), propput, bindable, displaybind]
        HRESULT backgroundPosition([in] BSTR p);
        [id(0x800113b6), propget, bindable, displaybind]
        HRESULT backgroundPosition([out, retval] BSTR* p);
        [id(0x800113a9), propput, bindable, displaybind]
        HRESULT backgroundPositionX([in] VARIANT p);
        [id(0x800113a9), propget, bindable, displaybind]
        HRESULT backgroundPositionX([out, retval] VARIANT* p);
        [id(0x800113aa), propput, bindable, displaybind]
        HRESULT backgroundPositionY([in] VARIANT p);
        [id(0x800113aa), propget, bindable, displaybind]
        HRESULT backgroundPositionY([out, retval] VARIANT* p);
        [id(0x800113b7), propput, bindable, displaybind]
        HRESULT wordSpacing([in] VARIANT p);
        [id(0x800113b7), propget, bindable, displaybind]
        HRESULT wordSpacing([out, retval] VARIANT* p);
        [id(0x80011390), propput, bindable, displaybind]
        HRESULT letterSpacing([in] VARIANT p);
        [id(0x80011390), propget, bindable, displaybind]
        HRESULT letterSpacing([out, retval] VARIANT* p);
        [id(0x800113ab), propput, bindable, displaybind]
        HRESULT textDecoration([in] BSTR p);
        [id(0x800113ab), propget, bindable, displaybind]
        HRESULT textDecoration([out, retval] BSTR* p);
        [id(0x8001139f), propput, bindable, displaybind]
        HRESULT textDecorationNone([in] VARIANT_BOOL p);
        [id(0x8001139f), propget, bindable, displaybind]
        HRESULT textDecorationNone([out, retval] VARIANT_BOOL* p);
        [id(0x8001139d), propput, bindable, displaybind]
        HRESULT textDecorationUnderline([in] VARIANT_BOOL p);
        [id(0x8001139d), propget, bindable, displaybind]
        HRESULT textDecorationUnderline([out, retval] VARIANT_BOOL* p);
        [id(0x800113cd), propput, bindable, displaybind]
        HRESULT textDecorationOverline([in] VARIANT_BOOL p);
        [id(0x800113cd), propget, bindable, displaybind]
        HRESULT textDecorationOverline([out, retval] VARIANT_BOOL* p);
        [id(0x8001139c), propput, bindable, displaybind]
        HRESULT textDecorationLineThrough([in] VARIANT_BOOL p);
        [id(0x8001139c), propget, bindable, displaybind]
        HRESULT textDecorationLineThrough([out, retval] VARIANT_BOOL* p);
        [id(0x8001139e), propput, bindable, displaybind]
        HRESULT textDecorationBlink([in] VARIANT_BOOL p);
        [id(0x8001139e), propget, bindable, displaybind]
        HRESULT textDecorationBlink([out, retval] VARIANT_BOOL* p);
        [id(0x800113b8), propput, bindable, displaybind]
        HRESULT verticalAlign([in] VARIANT p);
        [id(0x800113b8), propget, bindable, displaybind]
        HRESULT verticalAlign([out, retval] VARIANT* p);
        [id(0x8001138c), propput, bindable, displaybind]
        HRESULT textTransform([in] BSTR p);
        [id(0x8001138c), propget, bindable, displaybind]
        HRESULT textTransform([out, retval] BSTR* p);
        [id(0x80010048), propput, bindable, displaybind]
        HRESULT textAlign([in] BSTR p);
        [id(0x80010048), propget, bindable, displaybind]
        HRESULT textAlign([out, retval] BSTR* p);
        [id(0x8001138f), propput, bindable, displaybind]
        HRESULT textIndent([in] VARIANT p);
        [id(0x8001138f), propget, bindable, displaybind]
        HRESULT textIndent([out, retval] VARIANT* p);
        [id(0x8001138e), propput, bindable, displaybind]
        HRESULT lineHeight([in] VARIANT p);
        [id(0x8001138e), propget, bindable, displaybind]
        HRESULT lineHeight([out, retval] VARIANT* p);
        [id(0x800113ad), propput, bindable, displaybind]
        HRESULT marginTop([in] VARIANT p);
        [id(0x800113ad), propget, bindable, displaybind]
        HRESULT marginTop([out, retval] VARIANT* p);
        [id(0x800113ae), propput, bindable, displaybind]
        HRESULT marginRight([in] VARIANT p);
        [id(0x800113ae), propget, bindable, displaybind]
        HRESULT marginRight([out, retval] VARIANT* p);
        [id(0x800113af), propput, bindable, displaybind]
        HRESULT marginBottom([in] VARIANT p);
        [id(0x800113af), propget, bindable, displaybind]
        HRESULT marginBottom([out, retval] VARIANT* p);
        [id(0x800113b0), propput, bindable, displaybind]
        HRESULT marginLeft([in] VARIANT p);
        [id(0x800113b0), propget, bindable, displaybind]
        HRESULT marginLeft([out, retval] VARIANT* p);
        [id(0x800113ac), propput, bindable, displaybind]
        HRESULT margin([in] BSTR p);
        [id(0x800113ac), propget, bindable, displaybind]
        HRESULT margin([out, retval] BSTR* p);
        [id(0x80011394), propput, bindable, displaybind]
        HRESULT paddingTop([in] VARIANT p);
        [id(0x80011394), propget, bindable, displaybind]
        HRESULT paddingTop([out, retval] VARIANT* p);
        [id(0x80011395), propput, bindable, displaybind]
        HRESULT paddingRight([in] VARIANT p);
        [id(0x80011395), propget, bindable, displaybind]
        HRESULT paddingRight([out, retval] VARIANT* p);
        [id(0x80011396), propput, bindable, displaybind]
        HRESULT paddingBottom([in] VARIANT p);
        [id(0x80011396), propget, bindable, displaybind]
        HRESULT paddingBottom([out, retval] VARIANT* p);
        [id(0x80011397), propput, bindable, displaybind]
        HRESULT paddingLeft([in] VARIANT p);
        [id(0x80011397), propget, bindable, displaybind]
        HRESULT paddingLeft([out, retval] VARIANT* p);
        [id(0x80011393), propput, bindable, displaybind]
        HRESULT padding([in] BSTR p);
        [id(0x80011393), propget, bindable, displaybind]
        HRESULT padding([out, retval] BSTR* p);
        [id(0x800113b9), propput, bindable, displaybind]
        HRESULT border([in] BSTR p);
        [id(0x800113b9), propget, bindable, displaybind]
        HRESULT border([out, retval] BSTR* p);
        [id(0x800113ba), propput, bindable, displaybind]
        HRESULT borderTop([in] BSTR p);
        [id(0x800113ba), propget, bindable, displaybind]
        HRESULT borderTop([out, retval] BSTR* p);
        [id(0x800113bb), propput, bindable, displaybind]
        HRESULT borderRight([in] BSTR p);
        [id(0x800113bb), propget, bindable, displaybind]
        HRESULT borderRight([out, retval] BSTR* p);
        [id(0x800113bc), propput, bindable, displaybind]
        HRESULT borderBottom([in] BSTR p);
        [id(0x800113bc), propget, bindable, displaybind]
        HRESULT borderBottom([out, retval] BSTR* p);
        [id(0x800113bd), propput, bindable, displaybind]
        HRESULT borderLeft([in] BSTR p);
        [id(0x800113bd), propget, bindable, displaybind]
        HRESULT borderLeft([out, retval] BSTR* p);
        [id(0x800113be), propput, bindable, displaybind]
        HRESULT borderColor([in] BSTR p);
        [id(0x800113be), propget, bindable, displaybind]
        HRESULT borderColor([out, retval] BSTR* p);
        [id(0x800113bf), propput, bindable, displaybind]
        HRESULT borderTopColor([in] VARIANT p);
        [id(0x800113bf), propget, bindable, displaybind]
        HRESULT borderTopColor([out, retval] VARIANT* p);
        [id(0x800113c0), propput, bindable, displaybind]
        HRESULT borderRightColor([in] VARIANT p);
        [id(0x800113c0), propget, bindable, displaybind]
        HRESULT borderRightColor([out, retval] VARIANT* p);
        [id(0x800113c1), propput, bindable, displaybind]
        HRESULT borderBottomColor([in] VARIANT p);
        [id(0x800113c1), propget, bindable, displaybind]
        HRESULT borderBottomColor([out, retval] VARIANT* p);
        [id(0x800113c2), propput, bindable, displaybind]
        HRESULT borderLeftColor([in] VARIANT p);
        [id(0x800113c2), propget, bindable, displaybind]
        HRESULT borderLeftColor([out, retval] VARIANT* p);
        [id(0x800113c3), propput, bindable, displaybind]
        HRESULT borderWidth([in] BSTR p);
        [id(0x800113c3), propget, bindable, displaybind]
        HRESULT borderWidth([out, retval] BSTR* p);
        [id(0x800113c4), propput, bindable, displaybind]
        HRESULT borderTopWidth([in] VARIANT p);
        [id(0x800113c4), propget, bindable, displaybind]
        HRESULT borderTopWidth([out, retval] VARIANT* p);
        [id(0x800113c5), propput, bindable, displaybind]
        HRESULT borderRightWidth([in] VARIANT p);
        [id(0x800113c5), propget, bindable, displaybind]
        HRESULT borderRightWidth([out, retval] VARIANT* p);
        [id(0x800113c6), propput, bindable, displaybind]
        HRESULT borderBottomWidth([in] VARIANT p);
        [id(0x800113c6), propget, bindable, displaybind]
        HRESULT borderBottomWidth([out, retval] VARIANT* p);
        [id(0x800113c7), propput, bindable, displaybind]
        HRESULT borderLeftWidth([in] VARIANT p);
        [id(0x800113c7), propget, bindable, displaybind]
        HRESULT borderLeftWidth([out, retval] VARIANT* p);
        [id(0x800113c8), propput, bindable, displaybind]
        HRESULT borderStyle([in] BSTR p);
        [id(0x800113c8), propget, bindable, displaybind]
        HRESULT borderStyle([out, retval] BSTR* p);
        [id(0x800113c9), propput, bindable, displaybind]
        HRESULT borderTopStyle([in] BSTR p);
        [id(0x800113c9), propget, bindable, displaybind]
        HRESULT borderTopStyle([out, retval] BSTR* p);
        [id(0x800113ca), propput, bindable, displaybind]
        HRESULT borderRightStyle([in] BSTR p);
        [id(0x800113ca), propget, bindable, displaybind]
        HRESULT borderRightStyle([out, retval] BSTR* p);
        [id(0x800113cb), propput, bindable, displaybind]
        HRESULT borderBottomStyle([in] BSTR p);
        [id(0x800113cb), propget, bindable, displaybind]
        HRESULT borderBottomStyle([out, retval] BSTR* p);
        [id(0x800113cc), propput, bindable, displaybind]
        HRESULT borderLeftStyle([in] BSTR p);
        [id(0x800113cc), propget, bindable, displaybind]
        HRESULT borderLeftStyle([out, retval] BSTR* p);
        [id(0x80010005), propput, bindable, displaybind]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget, bindable, displaybind]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propput, bindable, displaybind]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget, bindable, displaybind]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x800113ce), propput, bindable, displaybind]
        HRESULT styleFloat([in] BSTR p);
        [id(0x800113ce), propget, bindable, displaybind]
        HRESULT styleFloat([out, retval] BSTR* p);
        [id(0x80011398), propput, bindable, displaybind]
        HRESULT clear([in] BSTR p);
        [id(0x80011398), propget, bindable, displaybind]
        HRESULT clear([out, retval] BSTR* p);
        [id(0x800113cf), propput, bindable, displaybind]
        HRESULT display([in] BSTR p);
        [id(0x800113cf), propget, bindable, displaybind]
        HRESULT display([out, retval] BSTR* p);
        [id(0x800113d8), propput, bindable, displaybind]
        HRESULT visibility([in] BSTR p);
        [id(0x800113d8), propget, bindable, displaybind]
        HRESULT visibility([out, retval] BSTR* p);
        [id(0x800113d0), propput, bindable, displaybind]
        HRESULT listStyleType([in] BSTR p);
        [id(0x800113d0), propget, bindable, displaybind]
        HRESULT listStyleType([out, retval] BSTR* p);
        [id(0x800113d1), propput, bindable, displaybind]
        HRESULT listStylePosition([in] BSTR p);
        [id(0x800113d1), propget, bindable, displaybind]
        HRESULT listStylePosition([out, retval] BSTR* p);
        [id(0x800113d2), propput, bindable, displaybind]
        HRESULT listStyleImage([in] BSTR p);
        [id(0x800113d2), propget, bindable, displaybind]
        HRESULT listStyleImage([out, retval] BSTR* p);
        [id(0x800113d3), propput, bindable, displaybind]
        HRESULT listStyle([in] BSTR p);
        [id(0x800113d3), propget, bindable, displaybind]
        HRESULT listStyle([out, retval] BSTR* p);
        [id(0x800113d4), propput, bindable, displaybind]
        HRESULT whiteSpace([in] BSTR p);
        [id(0x800113d4), propget, bindable, displaybind]
        HRESULT whiteSpace([out, retval] BSTR* p);
        [id(0x80010004), propput, bindable, displaybind]
        HRESULT top([in] VARIANT p);
        [id(0x80010004), propget, bindable, displaybind]
        HRESULT top([out, retval] VARIANT* p);
        [id(0x80010003), propput, bindable, displaybind]
        HRESULT left([in] VARIANT p);
        [id(0x80010003), propget, bindable, displaybind]
        HRESULT left([out, retval] VARIANT* p);
        [id(0x800113e2), propget, bindable, displaybind]
        HRESULT position([out, retval] BSTR* p);
        [id(0x800113e3), propput, bindable, displaybind]
        HRESULT zIndex([in] VARIANT p);
        [id(0x800113e3), propget, bindable, displaybind]
        HRESULT zIndex([out, retval] VARIANT* p);
        [id(0x80011392), propput, bindable, displaybind]
        HRESULT overflow([in] BSTR p);
        [id(0x80011392), propget, bindable, displaybind]
        HRESULT overflow([out, retval] BSTR* p);
        [id(0x800113d5), propput, bindable, displaybind]
        HRESULT pageBreakBefore([in] BSTR p);
        [id(0x800113d5), propget, bindable, displaybind]
        HRESULT pageBreakBefore([out, retval] BSTR* p);
        [id(0x800113d6), propput, bindable, displaybind]
        HRESULT pageBreakAfter([in] BSTR p);
        [id(0x800113d6), propget, bindable, displaybind]
        HRESULT pageBreakAfter([out, retval] BSTR* p);
        [id(0x800113eb), propput, bindable, displaybind]
        HRESULT cssText([in] BSTR p);
        [id(0x800113eb), propget, bindable, displaybind]
        HRESULT cssText([out, retval] BSTR* p);
        [id(0x800113ee), propput, bindable, displaybind]
        HRESULT cursor([in] BSTR p);
        [id(0x800113ee), propget, bindable, displaybind]
        HRESULT cursor([out, retval] BSTR* p);
        [id(0x800113e4), propput, bindable, displaybind]
        HRESULT clip([in] BSTR p);
        [id(0x800113e4), propget, bindable, displaybind]
        HRESULT clip([out, retval] BSTR* p);
        [id(0x800113da), propput, bindable, displaybind]
        HRESULT filter([in] BSTR p);
        [id(0x800113da), propget, bindable, displaybind]
        HRESULT filter([out, retval] BSTR* p);
        [id(0x800101f5)]
        HRESULT setAttribute(
                        [in] BSTR strAttributeName, 
                        [in] VARIANT AttributeValue, 
                        [in, optional, defaultvalue(1)] long lFlags);
        [id(0x800101f6)]
        HRESULT getAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(0)] long lFlags, 
                        [out, retval] VARIANT* AttributeValue);
        [id(0x800101f7)]
        HRESULT removeAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(1)] long lFlags, 
                        [out, retval] VARIANT_BOOL* pfSuccess);
    };

    [
      odl,
      uuid(3050F4AC-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLRuleStyle2 : IDispatch {
        [id(0x800113ea), propput, bindable, displaybind]
        HRESULT tableLayout([in] BSTR p);
        [id(0x800113ea), propget, bindable, displaybind]
        HRESULT tableLayout([out, retval] BSTR* p);
        [id(0x800113dc), propput, bindable, displaybind]
        HRESULT borderCollapse([in] BSTR p);
        [id(0x800113dc), propget, bindable, displaybind]
        HRESULT borderCollapse([out, retval] BSTR* p);
        [id(0x800113ff), propput, bindable, displaybind]
        HRESULT direction([in] BSTR p);
        [id(0x800113ff), propget, bindable, displaybind]
        HRESULT direction([out, retval] BSTR* p);
        [id(0x800113fb), propput, bindable, displaybind]
        HRESULT behavior([in] BSTR p);
        [id(0x800113fb), propget, bindable, displaybind]
        HRESULT behavior([out, retval] BSTR* p);
        [id(0x800113e2), propput, bindable, displaybind]
        HRESULT position([in] BSTR p);
        [id(0x800113e2), propget, bindable, displaybind]
        HRESULT position([out, retval] BSTR* p);
        [id(0x800113fe), propput, bindable, displaybind]
        HRESULT unicodeBidi([in] BSTR p);
        [id(0x800113fe), propget, bindable, displaybind]
        HRESULT unicodeBidi([out, retval] BSTR* p);
        [id(0x8001004e), propput, bindable, displaybind]
        HRESULT bottom([in] VARIANT p);
        [id(0x8001004e), propget, bindable, displaybind]
        HRESULT bottom([out, retval] VARIANT* p);
        [id(0x8001004d), propput, bindable, displaybind]
        HRESULT right([in] VARIANT p);
        [id(0x8001004d), propget, bindable, displaybind]
        HRESULT right([out, retval] VARIANT* p);
        [id(0x80010fa9), propput, bindable, displaybind, hidden]
        HRESULT pixelBottom([in] long p);
        [id(0x80010fa9), propget, bindable, displaybind, hidden]
        HRESULT pixelBottom([out, retval] long* p);
        [id(0x80010faa), propput, bindable, displaybind, hidden]
        HRESULT pixelRight([in] long p);
        [id(0x80010faa), propget, bindable, displaybind, hidden]
        HRESULT pixelRight([out, retval] long* p);
        [id(0x80010fab), propput, bindable, displaybind]
        HRESULT posBottom([in] single p);
        [id(0x80010fab), propget, bindable, displaybind]
        HRESULT posBottom([out, retval] single* p);
        [id(0x80010fac), propput, bindable, displaybind]
        HRESULT posRight([in] single p);
        [id(0x80010fac), propget, bindable, displaybind]
        HRESULT posRight([out, retval] single* p);
        [id(0x80011400), propput, bindable, displaybind]
        HRESULT imeMode([in] BSTR p);
        [id(0x80011400), propget, bindable, displaybind]
        HRESULT imeMode([out, retval] BSTR* p);
        [id(0x80011401), propput, bindable, displaybind]
        HRESULT rubyAlign([in] BSTR p);
        [id(0x80011401), propget, bindable, displaybind]
        HRESULT rubyAlign([out, retval] BSTR* p);
        [id(0x80011402), propput, bindable, displaybind]
        HRESULT rubyPosition([in] BSTR p);
        [id(0x80011402), propget, bindable, displaybind]
        HRESULT rubyPosition([out, retval] BSTR* p);
        [id(0x80011403), propput, bindable, displaybind]
        HRESULT rubyOverhang([in] BSTR p);
        [id(0x80011403), propget, bindable, displaybind]
        HRESULT rubyOverhang([out, retval] BSTR* p);
        [id(0x80011407), propput, bindable, displaybind]
        HRESULT layoutGridChar([in] VARIANT p);
        [id(0x80011407), propget, bindable, displaybind]
        HRESULT layoutGridChar([out, retval] VARIANT* p);
        [id(0x80011408), propput, bindable, displaybind]
        HRESULT layoutGridLine([in] VARIANT p);
        [id(0x80011408), propget, bindable, displaybind]
        HRESULT layoutGridLine([out, retval] VARIANT* p);
        [id(0x80011409), propput, bindable, displaybind]
        HRESULT layoutGridMode([in] BSTR p);
        [id(0x80011409), propget, bindable, displaybind]
        HRESULT layoutGridMode([out, retval] BSTR* p);
        [id(0x8001140a), propput, bindable, displaybind]
        HRESULT layoutGridType([in] BSTR p);
        [id(0x8001140a), propget, bindable, displaybind]
        HRESULT layoutGridType([out, retval] BSTR* p);
        [id(0x8001140b), propput, bindable, displaybind]
        HRESULT layoutGrid([in] BSTR p);
        [id(0x8001140b), propget, bindable, displaybind]
        HRESULT layoutGrid([out, retval] BSTR* p);
        [id(0x8001140c), propput, bindable, displaybind]
        HRESULT textAutospace([in] BSTR p);
        [id(0x8001140c), propget, bindable, displaybind]
        HRESULT textAutospace([out, retval] BSTR* p);
        [id(0x8001140e), propput, bindable, displaybind]
        HRESULT wordBreak([in] BSTR p);
        [id(0x8001140e), propget, bindable, displaybind]
        HRESULT wordBreak([out, retval] BSTR* p);
        [id(0x8001140d), propput, bindable, displaybind]
        HRESULT lineBreak([in] BSTR p);
        [id(0x8001140d), propget, bindable, displaybind]
        HRESULT lineBreak([out, retval] BSTR* p);
        [id(0x8001140f), propput, bindable, displaybind]
        HRESULT textJustify([in] BSTR p);
        [id(0x8001140f), propget, bindable, displaybind]
        HRESULT textJustify([out, retval] BSTR* p);
        [id(0x80011410), propput, bindable, displaybind]
        HRESULT textJustifyTrim([in] BSTR p);
        [id(0x80011410), propget, bindable, displaybind]
        HRESULT textJustifyTrim([out, retval] BSTR* p);
        [id(0x80011411), propput, bindable, displaybind]
        HRESULT textKashida([in] VARIANT p);
        [id(0x80011411), propget, bindable, displaybind]
        HRESULT textKashida([out, retval] VARIANT* p);
        [id(0x80011413), propput, bindable, displaybind]
        HRESULT overflowX([in] BSTR p);
        [id(0x80011413), propget, bindable, displaybind]
        HRESULT overflowX([out, retval] BSTR* p);
        [id(0x80011414), propput, bindable, displaybind]
        HRESULT overflowY([in] BSTR p);
        [id(0x80011414), propget, bindable, displaybind]
        HRESULT overflowY([out, retval] BSTR* p);
        [id(0x8001141b), propput, bindable, displaybind]
        HRESULT accelerator([in] BSTR p);
        [id(0x8001141b), propget, bindable, displaybind]
        HRESULT accelerator([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F657-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLRuleStyle3 : IDispatch {
        [id(0x80011423), propput, bindable, displaybind]
        HRESULT layoutFlow([in] BSTR p);
        [id(0x80011423), propget, bindable, displaybind]
        HRESULT layoutFlow([out, retval] BSTR* p);
        [id(0x80011421), propput, bindable, displaybind]
        HRESULT zoom([in] VARIANT p);
        [id(0x80011421), propget, bindable, displaybind]
        HRESULT zoom([out, retval] VARIANT* p);
        [id(0x80011426), propput, bindable, displaybind]
        HRESULT wordWrap([in] BSTR p);
        [id(0x80011426), propget, bindable, displaybind]
        HRESULT wordWrap([out, retval] BSTR* p);
        [id(0x80011427), propput, bindable, displaybind]
        HRESULT textUnderlinePosition([in] BSTR p);
        [id(0x80011427), propget, bindable, displaybind]
        HRESULT textUnderlinePosition([out, retval] BSTR* p);
        [id(0x8001143c), propput, bindable, displaybind]
        HRESULT scrollbarBaseColor([in] VARIANT p);
        [id(0x8001143c), propget, bindable, displaybind]
        HRESULT scrollbarBaseColor([out, retval] VARIANT* p);
        [id(0x8001143d), propput, bindable, displaybind]
        HRESULT scrollbarFaceColor([in] VARIANT p);
        [id(0x8001143d), propget, bindable, displaybind]
        HRESULT scrollbarFaceColor([out, retval] VARIANT* p);
        [id(0x8001143e), propput, bindable, displaybind]
        HRESULT scrollbar3dLightColor([in] VARIANT p);
        [id(0x8001143e), propget, bindable, displaybind]
        HRESULT scrollbar3dLightColor([out, retval] VARIANT* p);
        [id(0x8001143f), propput, bindable, displaybind]
        HRESULT scrollbarShadowColor([in] VARIANT p);
        [id(0x8001143f), propget, bindable, displaybind]
        HRESULT scrollbarShadowColor([out, retval] VARIANT* p);
        [id(0x80011440), propput, bindable, displaybind]
        HRESULT scrollbarHighlightColor([in] VARIANT p);
        [id(0x80011440), propget, bindable, displaybind]
        HRESULT scrollbarHighlightColor([out, retval] VARIANT* p);
        [id(0x80011441), propput, bindable, displaybind]
        HRESULT scrollbarDarkShadowColor([in] VARIANT p);
        [id(0x80011441), propget, bindable, displaybind]
        HRESULT scrollbarDarkShadowColor([out, retval] VARIANT* p);
        [id(0x80011442), propput, bindable, displaybind]
        HRESULT scrollbarArrowColor([in] VARIANT p);
        [id(0x80011442), propget, bindable, displaybind]
        HRESULT scrollbarArrowColor([out, retval] VARIANT* p);
        [id(0x8001144c), propput, bindable, displaybind]
        HRESULT scrollbarTrackColor([in] VARIANT p);
        [id(0x8001144c), propget, bindable, displaybind]
        HRESULT scrollbarTrackColor([out, retval] VARIANT* p);
        [id(0x80011448), propput, bindable, displaybind]
        HRESULT writingMode([in] BSTR p);
        [id(0x80011448), propget, bindable, displaybind]
        HRESULT writingMode([out, retval] BSTR* p);
        [id(0x80011453), propput, bindable, displaybind]
        HRESULT textAlignLast([in] BSTR p);
        [id(0x80011453), propget, bindable, displaybind]
        HRESULT textAlignLast([out, retval] BSTR* p);
        [id(0x80011454), propput, bindable, displaybind]
        HRESULT textKashidaSpace([in] VARIANT p);
        [id(0x80011454), propget, bindable, displaybind]
        HRESULT textKashidaSpace([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F817-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLRuleStyle4 : IDispatch {
        [id(0x80011459), propput, bindable, displaybind]
        HRESULT textOverflow([in] BSTR p);
        [id(0x80011459), propget, bindable, displaybind]
        HRESULT textOverflow([out, retval] BSTR* p);
        [id(0x8001145b), propput, bindable, displaybind]
        HRESULT minHeight([in] VARIANT p);
        [id(0x8001145b), propget, bindable, displaybind]
        HRESULT minHeight([out, retval] VARIANT* p);
    };

    [
      uuid(3050F55A-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLStyle {
        properties:
        methods:
            [id(0x8001139a), propput, bindable, displaybind]
            void fontFamily(BSTR rhs);
            [id(0x8001139a), propget, bindable, displaybind]
            BSTR fontFamily();
            [id(0x800113a0), propput, bindable, displaybind]
            void fontStyle(BSTR rhs);
            [id(0x800113a0), propget, bindable, displaybind]
            BSTR fontStyle();
            [id(0x800113a1), propput, bindable, displaybind]
            void fontVariant(BSTR rhs);
            [id(0x800113a1), propget, bindable, displaybind]
            BSTR fontVariant();
            [id(0x800113a3), propput, bindable, displaybind]
            void fontWeight(BSTR rhs);
            [id(0x800113a3), propget, bindable, displaybind]
            BSTR fontWeight();
            [id(0x8001139b), propput, bindable, displaybind]
            void fontSize(VARIANT rhs);
            [id(0x8001139b), propget, bindable, displaybind]
            VARIANT fontSize();
            [id(0x800113b1), propput, bindable, displaybind]
            void font(BSTR rhs);
            [id(0x800113b1), propget, bindable, displaybind]
            BSTR font();
            [id(0x8001138a), propput, bindable, displaybind]
            void color(VARIANT rhs);
            [id(0x8001138a), propget, bindable, displaybind]
            VARIANT color();
            [id(0x800113a8), propput, bindable, displaybind]
            void background(BSTR rhs);
            [id(0x800113a8), propget, bindable, displaybind]
            BSTR background();
            [id(0xfffffe0b), propput, bindable, displaybind]
            void backgroundColor(VARIANT rhs);
            [id(0xfffffe0b), propget, bindable, displaybind]
            VARIANT backgroundColor();
            [id(0x80011389), propput, bindable, displaybind]
            void backgroundImage(BSTR rhs);
            [id(0x80011389), propget, bindable, displaybind]
            BSTR backgroundImage();
            [id(0x800113b4), propput, bindable, displaybind]
            void backgroundRepeat(BSTR rhs);
            [id(0x800113b4), propget, bindable, displaybind]
            BSTR backgroundRepeat();
            [id(0x800113b5), propput, bindable, displaybind]
            void backgroundAttachment(BSTR rhs);
            [id(0x800113b5), propget, bindable, displaybind]
            BSTR backgroundAttachment();
            [id(0x800113b6), propput, bindable, displaybind]
            void backgroundPosition(BSTR rhs);
            [id(0x800113b6), propget, bindable, displaybind]
            BSTR backgroundPosition();
            [id(0x800113a9), propput, bindable, displaybind]
            void backgroundPositionX(VARIANT rhs);
            [id(0x800113a9), propget, bindable, displaybind]
            VARIANT backgroundPositionX();
            [id(0x800113aa), propput, bindable, displaybind]
            void backgroundPositionY(VARIANT rhs);
            [id(0x800113aa), propget, bindable, displaybind]
            VARIANT backgroundPositionY();
            [id(0x800113b7), propput, bindable, displaybind]
            void wordSpacing(VARIANT rhs);
            [id(0x800113b7), propget, bindable, displaybind]
            VARIANT wordSpacing();
            [id(0x80011390), propput, bindable, displaybind]
            void letterSpacing(VARIANT rhs);
            [id(0x80011390), propget, bindable, displaybind]
            VARIANT letterSpacing();
            [id(0x800113ab), propput, bindable, displaybind]
            void textDecoration(BSTR rhs);
            [id(0x800113ab), propget, bindable, displaybind]
            BSTR textDecoration();
            [id(0x8001139f), propput, bindable, displaybind]
            void textDecorationNone(VARIANT_BOOL rhs);
            [id(0x8001139f), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationNone();
            [id(0x8001139d), propput, bindable, displaybind]
            void textDecorationUnderline(VARIANT_BOOL rhs);
            [id(0x8001139d), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationUnderline();
            [id(0x800113cd), propput, bindable, displaybind]
            void textDecorationOverline(VARIANT_BOOL rhs);
            [id(0x800113cd), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationOverline();
            [id(0x8001139c), propput, bindable, displaybind]
            void textDecorationLineThrough(VARIANT_BOOL rhs);
            [id(0x8001139c), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationLineThrough();
            [id(0x8001139e), propput, bindable, displaybind]
            void textDecorationBlink(VARIANT_BOOL rhs);
            [id(0x8001139e), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationBlink();
            [id(0x800113b8), propput, bindable, displaybind]
            void verticalAlign(VARIANT rhs);
            [id(0x800113b8), propget, bindable, displaybind]
            VARIANT verticalAlign();
            [id(0x8001138c), propput, bindable, displaybind]
            void textTransform(BSTR rhs);
            [id(0x8001138c), propget, bindable, displaybind]
            BSTR textTransform();
            [id(0x80010048), propput, bindable, displaybind]
            void textAlign(BSTR rhs);
            [id(0x80010048), propget, bindable, displaybind]
            BSTR textAlign();
            [id(0x8001138f), propput, bindable, displaybind]
            void textIndent(VARIANT rhs);
            [id(0x8001138f), propget, bindable, displaybind]
            VARIANT textIndent();
            [id(0x8001138e), propput, bindable, displaybind]
            void lineHeight(VARIANT rhs);
            [id(0x8001138e), propget, bindable, displaybind]
            VARIANT lineHeight();
            [id(0x800113ad), propput, bindable, displaybind]
            void marginTop(VARIANT rhs);
            [id(0x800113ad), propget, bindable, displaybind]
            VARIANT marginTop();
            [id(0x800113ae), propput, bindable, displaybind]
            void marginRight(VARIANT rhs);
            [id(0x800113ae), propget, bindable, displaybind]
            VARIANT marginRight();
            [id(0x800113af), propput, bindable, displaybind]
            void marginBottom(VARIANT rhs);
            [id(0x800113af), propget, bindable, displaybind]
            VARIANT marginBottom();
            [id(0x800113b0), propput, bindable, displaybind]
            void marginLeft(VARIANT rhs);
            [id(0x800113b0), propget, bindable, displaybind]
            VARIANT marginLeft();
            [id(0x800113ac), propput, bindable, displaybind]
            void margin(BSTR rhs);
            [id(0x800113ac), propget, bindable, displaybind]
            BSTR margin();
            [id(0x80011394), propput, bindable, displaybind]
            void paddingTop(VARIANT rhs);
            [id(0x80011394), propget, bindable, displaybind]
            VARIANT paddingTop();
            [id(0x80011395), propput, bindable, displaybind]
            void paddingRight(VARIANT rhs);
            [id(0x80011395), propget, bindable, displaybind]
            VARIANT paddingRight();
            [id(0x80011396), propput, bindable, displaybind]
            void paddingBottom(VARIANT rhs);
            [id(0x80011396), propget, bindable, displaybind]
            VARIANT paddingBottom();
            [id(0x80011397), propput, bindable, displaybind]
            void paddingLeft(VARIANT rhs);
            [id(0x80011397), propget, bindable, displaybind]
            VARIANT paddingLeft();
            [id(0x80011393), propput, bindable, displaybind]
            void padding(BSTR rhs);
            [id(0x80011393), propget, bindable, displaybind]
            BSTR padding();
            [id(0x800113b9), propput, bindable, displaybind]
            void border(BSTR rhs);
            [id(0x800113b9), propget, bindable, displaybind]
            BSTR border();
            [id(0x800113ba), propput, bindable, displaybind]
            void borderTop(BSTR rhs);
            [id(0x800113ba), propget, bindable, displaybind]
            BSTR borderTop();
            [id(0x800113bb), propput, bindable, displaybind]
            void borderRight(BSTR rhs);
            [id(0x800113bb), propget, bindable, displaybind]
            BSTR borderRight();
            [id(0x800113bc), propput, bindable, displaybind]
            void borderBottom(BSTR rhs);
            [id(0x800113bc), propget, bindable, displaybind]
            BSTR borderBottom();
            [id(0x800113bd), propput, bindable, displaybind]
            void borderLeft(BSTR rhs);
            [id(0x800113bd), propget, bindable, displaybind]
            BSTR borderLeft();
            [id(0x800113be), propput, bindable, displaybind]
            void borderColor(BSTR rhs);
            [id(0x800113be), propget, bindable, displaybind]
            BSTR borderColor();
            [id(0x800113bf), propput, bindable, displaybind]
            void borderTopColor(VARIANT rhs);
            [id(0x800113bf), propget, bindable, displaybind]
            VARIANT borderTopColor();
            [id(0x800113c0), propput, bindable, displaybind]
            void borderRightColor(VARIANT rhs);
            [id(0x800113c0), propget, bindable, displaybind]
            VARIANT borderRightColor();
            [id(0x800113c1), propput, bindable, displaybind]
            void borderBottomColor(VARIANT rhs);
            [id(0x800113c1), propget, bindable, displaybind]
            VARIANT borderBottomColor();
            [id(0x800113c2), propput, bindable, displaybind]
            void borderLeftColor(VARIANT rhs);
            [id(0x800113c2), propget, bindable, displaybind]
            VARIANT borderLeftColor();
            [id(0x800113c3), propput, bindable, displaybind]
            void borderWidth(BSTR rhs);
            [id(0x800113c3), propget, bindable, displaybind]
            BSTR borderWidth();
            [id(0x800113c4), propput, bindable, displaybind]
            void borderTopWidth(VARIANT rhs);
            [id(0x800113c4), propget, bindable, displaybind]
            VARIANT borderTopWidth();
            [id(0x800113c5), propput, bindable, displaybind]
            void borderRightWidth(VARIANT rhs);
            [id(0x800113c5), propget, bindable, displaybind]
            VARIANT borderRightWidth();
            [id(0x800113c6), propput, bindable, displaybind]
            void borderBottomWidth(VARIANT rhs);
            [id(0x800113c6), propget, bindable, displaybind]
            VARIANT borderBottomWidth();
            [id(0x800113c7), propput, bindable, displaybind]
            void borderLeftWidth(VARIANT rhs);
            [id(0x800113c7), propget, bindable, displaybind]
            VARIANT borderLeftWidth();
            [id(0x800113c8), propput, bindable, displaybind]
            void borderStyle(BSTR rhs);
            [id(0x800113c8), propget, bindable, displaybind]
            BSTR borderStyle();
            [id(0x800113c9), propput, bindable, displaybind]
            void borderTopStyle(BSTR rhs);
            [id(0x800113c9), propget, bindable, displaybind]
            BSTR borderTopStyle();
            [id(0x800113ca), propput, bindable, displaybind]
            void borderRightStyle(BSTR rhs);
            [id(0x800113ca), propget, bindable, displaybind]
            BSTR borderRightStyle();
            [id(0x800113cb), propput, bindable, displaybind]
            void borderBottomStyle(BSTR rhs);
            [id(0x800113cb), propget, bindable, displaybind]
            BSTR borderBottomStyle();
            [id(0x800113cc), propput, bindable, displaybind]
            void borderLeftStyle(BSTR rhs);
            [id(0x800113cc), propget, bindable, displaybind]
            BSTR borderLeftStyle();
            [id(0x80010005), propput, bindable, displaybind]
            void width(VARIANT rhs);
            [id(0x80010005), propget, bindable, displaybind]
            VARIANT width();
            [id(0x80010006), propput, bindable, displaybind]
            void height(VARIANT rhs);
            [id(0x80010006), propget, bindable, displaybind]
            VARIANT height();
            [id(0x800113ce), propput, bindable, displaybind]
            void styleFloat(BSTR rhs);
            [id(0x800113ce), propget, bindable, displaybind]
            BSTR styleFloat();
            [id(0x80011398), propput, bindable, displaybind]
            void clear(BSTR rhs);
            [id(0x80011398), propget, bindable, displaybind]
            BSTR clear();
            [id(0x800113cf), propput, bindable, displaybind]
            void display(BSTR rhs);
            [id(0x800113cf), propget, bindable, displaybind]
            BSTR display();
            [id(0x800113d8), propput, bindable, displaybind]
            void visibility(BSTR rhs);
            [id(0x800113d8), propget, bindable, displaybind]
            BSTR visibility();
            [id(0x800113d0), propput, bindable, displaybind]
            void listStyleType(BSTR rhs);
            [id(0x800113d0), propget, bindable, displaybind]
            BSTR listStyleType();
            [id(0x800113d1), propput, bindable, displaybind]
            void listStylePosition(BSTR rhs);
            [id(0x800113d1), propget, bindable, displaybind]
            BSTR listStylePosition();
            [id(0x800113d2), propput, bindable, displaybind]
            void listStyleImage(BSTR rhs);
            [id(0x800113d2), propget, bindable, displaybind]
            BSTR listStyleImage();
            [id(0x800113d3), propput, bindable, displaybind]
            void listStyle(BSTR rhs);
            [id(0x800113d3), propget, bindable, displaybind]
            BSTR listStyle();
            [id(0x800113d4), propput, bindable, displaybind]
            void whiteSpace(BSTR rhs);
            [id(0x800113d4), propget, bindable, displaybind]
            BSTR whiteSpace();
            [id(0x80010004), propput, bindable, displaybind]
            void top(VARIANT rhs);
            [id(0x80010004), propget, bindable, displaybind]
            VARIANT top();
            [id(0x80010003), propput, bindable, displaybind]
            void left(VARIANT rhs);
            [id(0x80010003), propget, bindable, displaybind]
            VARIANT left();
            [id(0x800113e3), propput, bindable, displaybind]
            void zIndex(VARIANT rhs);
            [id(0x800113e3), propget, bindable, displaybind]
            VARIANT zIndex();
            [id(0x80011392), propput, bindable, displaybind]
            void overflow(BSTR rhs);
            [id(0x80011392), propget, bindable, displaybind]
            BSTR overflow();
            [id(0x800113d5), propput, bindable, displaybind]
            void pageBreakBefore(BSTR rhs);
            [id(0x800113d5), propget, bindable, displaybind]
            BSTR pageBreakBefore();
            [id(0x800113d6), propput, bindable, displaybind]
            void pageBreakAfter(BSTR rhs);
            [id(0x800113d6), propget, bindable, displaybind]
            BSTR pageBreakAfter();
            [id(0x800113eb), propput, bindable, displaybind]
            void cssText(BSTR rhs);
            [id(0x800113eb), propget, bindable, displaybind]
            BSTR cssText();
            [id(0x80010fa0), propput, bindable, displaybind, hidden]
            void pixelTop(long rhs);
            [id(0x80010fa0), propget, bindable, displaybind, hidden]
            long pixelTop();
            [id(0x80010fa1), propput, bindable, displaybind, hidden]
            void pixelLeft(long rhs);
            [id(0x80010fa1), propget, bindable, displaybind, hidden]
            long pixelLeft();
            [id(0x80010fa2), propput, bindable, displaybind, hidden]
            void pixelWidth(long rhs);
            [id(0x80010fa2), propget, bindable, displaybind, hidden]
            long pixelWidth();
            [id(0x80010fa3), propput, bindable, displaybind, hidden]
            void pixelHeight(long rhs);
            [id(0x80010fa3), propget, bindable, displaybind, hidden]
            long pixelHeight();
            [id(0x80010fa4), propput, bindable, displaybind]
            void posTop(single rhs);
            [id(0x80010fa4), propget, bindable, displaybind]
            single posTop();
            [id(0x80010fa5), propput, bindable, displaybind]
            void posLeft(single rhs);
            [id(0x80010fa5), propget, bindable, displaybind]
            single posLeft();
            [id(0x80010fa6), propput, bindable, displaybind]
            void posWidth(single rhs);
            [id(0x80010fa6), propget, bindable, displaybind]
            single posWidth();
            [id(0x80010fa7), propput, bindable, displaybind]
            void posHeight(single rhs);
            [id(0x80010fa7), propget, bindable, displaybind]
            single posHeight();
            [id(0x800113ee), propput, bindable, displaybind]
            void cursor(BSTR rhs);
            [id(0x800113ee), propget, bindable, displaybind]
            BSTR cursor();
            [id(0x800113e4), propput, bindable, displaybind]
            void clip(BSTR rhs);
            [id(0x800113e4), propget, bindable, displaybind]
            BSTR clip();
            [id(0x800113da), propput, bindable, displaybind]
            void filter(BSTR rhs);
            [id(0x800113da), propget, bindable, displaybind]
            BSTR filter();
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x80010fa8)]
            BSTR toString();
            [id(0x800113ea), propput, bindable, displaybind]
            void tableLayout(BSTR rhs);
            [id(0x800113ea), propget, bindable, displaybind]
            BSTR tableLayout();
            [id(0x800113dc), propput, bindable, displaybind]
            void borderCollapse(BSTR rhs);
            [id(0x800113dc), propget, bindable, displaybind]
            BSTR borderCollapse();
            [id(0x800113ff), propput, bindable, displaybind]
            void direction(BSTR rhs);
            [id(0x800113ff), propget, bindable, displaybind]
            BSTR direction();
            [id(0x800113fb), propput, bindable, displaybind]
            void behavior(BSTR rhs);
            [id(0x800113fb), propget, bindable, displaybind]
            BSTR behavior();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x800113e2), propput, bindable, displaybind]
            void position(BSTR rhs);
            [id(0x800113e2), propget, bindable, displaybind]
            BSTR position();
            [id(0x800113fe), propput, bindable, displaybind]
            void unicodeBidi(BSTR rhs);
            [id(0x800113fe), propget, bindable, displaybind]
            BSTR unicodeBidi();
            [id(0x8001004e), propput, bindable, displaybind]
            void bottom(VARIANT rhs);
            [id(0x8001004e), propget, bindable, displaybind]
            VARIANT bottom();
            [id(0x8001004d), propput, bindable, displaybind]
            void right(VARIANT rhs);
            [id(0x8001004d), propget, bindable, displaybind]
            VARIANT right();
            [id(0x80010fa9), propput, bindable, displaybind, hidden]
            void pixelBottom(long rhs);
            [id(0x80010fa9), propget, bindable, displaybind, hidden]
            long pixelBottom();
            [id(0x80010faa), propput, bindable, displaybind, hidden]
            void pixelRight(long rhs);
            [id(0x80010faa), propget, bindable, displaybind, hidden]
            long pixelRight();
            [id(0x80010fab), propput, bindable, displaybind]
            void posBottom(single rhs);
            [id(0x80010fab), propget, bindable, displaybind]
            single posBottom();
            [id(0x80010fac), propput, bindable, displaybind]
            void posRight(single rhs);
            [id(0x80010fac), propget, bindable, displaybind]
            single posRight();
            [id(0x80011400), propput, bindable, displaybind]
            void imeMode(BSTR rhs);
            [id(0x80011400), propget, bindable, displaybind]
            BSTR imeMode();
            [id(0x80011401), propput, bindable, displaybind]
            void rubyAlign(BSTR rhs);
            [id(0x80011401), propget, bindable, displaybind]
            BSTR rubyAlign();
            [id(0x80011402), propput, bindable, displaybind]
            void rubyPosition(BSTR rhs);
            [id(0x80011402), propget, bindable, displaybind]
            BSTR rubyPosition();
            [id(0x80011403), propput, bindable, displaybind]
            void rubyOverhang(BSTR rhs);
            [id(0x80011403), propget, bindable, displaybind]
            BSTR rubyOverhang();
            [id(0x80011407), propput, bindable, displaybind]
            void layoutGridChar(VARIANT rhs);
            [id(0x80011407), propget, bindable, displaybind]
            VARIANT layoutGridChar();
            [id(0x80011408), propput, bindable, displaybind]
            void layoutGridLine(VARIANT rhs);
            [id(0x80011408), propget, bindable, displaybind]
            VARIANT layoutGridLine();
            [id(0x80011409), propput, bindable, displaybind]
            void layoutGridMode(BSTR rhs);
            [id(0x80011409), propget, bindable, displaybind]
            BSTR layoutGridMode();
            [id(0x8001140a), propput, bindable, displaybind]
            void layoutGridType(BSTR rhs);
            [id(0x8001140a), propget, bindable, displaybind]
            BSTR layoutGridType();
            [id(0x8001140b), propput, bindable, displaybind]
            void layoutGrid(BSTR rhs);
            [id(0x8001140b), propget, bindable, displaybind]
            BSTR layoutGrid();
            [id(0x8001140e), propput, bindable, displaybind]
            void wordBreak(BSTR rhs);
            [id(0x8001140e), propget, bindable, displaybind]
            BSTR wordBreak();
            [id(0x8001140d), propput, bindable, displaybind]
            void lineBreak(BSTR rhs);
            [id(0x8001140d), propget, bindable, displaybind]
            BSTR lineBreak();
            [id(0x8001140f), propput, bindable, displaybind]
            void textJustify(BSTR rhs);
            [id(0x8001140f), propget, bindable, displaybind]
            BSTR textJustify();
            [id(0x80011410), propput, bindable, displaybind]
            void textJustifyTrim(BSTR rhs);
            [id(0x80011410), propget, bindable, displaybind]
            BSTR textJustifyTrim();
            [id(0x80011411), propput, bindable, displaybind]
            void textKashida(VARIANT rhs);
            [id(0x80011411), propget, bindable, displaybind]
            VARIANT textKashida();
            [id(0x8001140c), propput, bindable, displaybind]
            void textAutospace(BSTR rhs);
            [id(0x8001140c), propget, bindable, displaybind]
            BSTR textAutospace();
            [id(0x80011413), propput, bindable, displaybind]
            void overflowX(BSTR rhs);
            [id(0x80011413), propget, bindable, displaybind]
            BSTR overflowX();
            [id(0x80011414), propput, bindable, displaybind]
            void overflowY(BSTR rhs);
            [id(0x80011414), propget, bindable, displaybind]
            BSTR overflowY();
            [id(0x8001141b), propput, bindable, displaybind]
            void accelerator(BSTR rhs);
            [id(0x8001141b), propget, bindable, displaybind]
            BSTR accelerator();
            [id(0x80011423), propput, bindable, displaybind]
            void layoutFlow(BSTR rhs);
            [id(0x80011423), propget, bindable, displaybind]
            BSTR layoutFlow();
            [id(0x80011421), propput, bindable, displaybind]
            void zoom(VARIANT rhs);
            [id(0x80011421), propget, bindable, displaybind]
            VARIANT zoom();
            [id(0x80011426), propput, bindable, displaybind]
            void wordWrap(BSTR rhs);
            [id(0x80011426), propget, bindable, displaybind]
            BSTR wordWrap();
            [id(0x80011427), propput, bindable, displaybind]
            void textUnderlinePosition(BSTR rhs);
            [id(0x80011427), propget, bindable, displaybind]
            BSTR textUnderlinePosition();
            [id(0x8001143c), propput, bindable, displaybind]
            void scrollbarBaseColor(VARIANT rhs);
            [id(0x8001143c), propget, bindable, displaybind]
            VARIANT scrollbarBaseColor();
            [id(0x8001143d), propput, bindable, displaybind]
            void scrollbarFaceColor(VARIANT rhs);
            [id(0x8001143d), propget, bindable, displaybind]
            VARIANT scrollbarFaceColor();
            [id(0x8001143e), propput, bindable, displaybind]
            void scrollbar3dLightColor(VARIANT rhs);
            [id(0x8001143e), propget, bindable, displaybind]
            VARIANT scrollbar3dLightColor();
            [id(0x8001143f), propput, bindable, displaybind]
            void scrollbarShadowColor(VARIANT rhs);
            [id(0x8001143f), propget, bindable, displaybind]
            VARIANT scrollbarShadowColor();
            [id(0x80011440), propput, bindable, displaybind]
            void scrollbarHighlightColor(VARIANT rhs);
            [id(0x80011440), propget, bindable, displaybind]
            VARIANT scrollbarHighlightColor();
            [id(0x80011441), propput, bindable, displaybind]
            void scrollbarDarkShadowColor(VARIANT rhs);
            [id(0x80011441), propget, bindable, displaybind]
            VARIANT scrollbarDarkShadowColor();
            [id(0x80011442), propput, bindable, displaybind]
            void scrollbarArrowColor(VARIANT rhs);
            [id(0x80011442), propget, bindable, displaybind]
            VARIANT scrollbarArrowColor();
            [id(0x8001144c), propput, bindable, displaybind]
            void scrollbarTrackColor(VARIANT rhs);
            [id(0x8001144c), propget, bindable, displaybind]
            VARIANT scrollbarTrackColor();
            [id(0x80011448), propput, bindable, displaybind]
            void writingMode(BSTR rhs);
            [id(0x80011448), propget, bindable, displaybind]
            BSTR writingMode();
            [id(0x80011453), propput, bindable, displaybind]
            void textAlignLast(BSTR rhs);
            [id(0x80011453), propget, bindable, displaybind]
            BSTR textAlignLast();
            [id(0x80011454), propput, bindable, displaybind]
            void textKashidaSpace(VARIANT rhs);
            [id(0x80011454), propget, bindable, displaybind]
            VARIANT textKashidaSpace();
            [id(0x80011459), propput, bindable, displaybind]
            void textOverflow(BSTR rhs);
            [id(0x80011459), propget, bindable, displaybind]
            BSTR textOverflow();
            [id(0x8001145b), propput, bindable, displaybind]
            void minHeight(VARIANT rhs);
            [id(0x8001145b), propget, bindable, displaybind]
            VARIANT minHeight();
    };

    [
      uuid(3050F285-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyle {
        [default] dispinterface DispHTMLStyle;
        interface IHTMLStyle;
        interface IHTMLStyle2;
        interface IHTMLStyle3;
        interface IHTMLStyle4;
    };

    [
      uuid(3050F55C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLRuleStyle {
        properties:
        methods:
            [id(0x8001139a), propput, bindable, displaybind]
            void fontFamily(BSTR rhs);
            [id(0x8001139a), propget, bindable, displaybind]
            BSTR fontFamily();
            [id(0x800113a0), propput, bindable, displaybind]
            void fontStyle(BSTR rhs);
            [id(0x800113a0), propget, bindable, displaybind]
            BSTR fontStyle();
            [id(0x800113a1), propput, bindable, displaybind]
            void fontVariant(BSTR rhs);
            [id(0x800113a1), propget, bindable, displaybind]
            BSTR fontVariant();
            [id(0x800113a3), propput, bindable, displaybind]
            void fontWeight(BSTR rhs);
            [id(0x800113a3), propget, bindable, displaybind]
            BSTR fontWeight();
            [id(0x8001139b), propput, bindable, displaybind]
            void fontSize(VARIANT rhs);
            [id(0x8001139b), propget, bindable, displaybind]
            VARIANT fontSize();
            [id(0x800113b1), propput, bindable, displaybind]
            void font(BSTR rhs);
            [id(0x800113b1), propget, bindable, displaybind]
            BSTR font();
            [id(0x8001138a), propput, bindable, displaybind]
            void color(VARIANT rhs);
            [id(0x8001138a), propget, bindable, displaybind]
            VARIANT color();
            [id(0x800113a8), propput, bindable, displaybind]
            void background(BSTR rhs);
            [id(0x800113a8), propget, bindable, displaybind]
            BSTR background();
            [id(0xfffffe0b), propput, bindable, displaybind]
            void backgroundColor(VARIANT rhs);
            [id(0xfffffe0b), propget, bindable, displaybind]
            VARIANT backgroundColor();
            [id(0x80011389), propput, bindable, displaybind]
            void backgroundImage(BSTR rhs);
            [id(0x80011389), propget, bindable, displaybind]
            BSTR backgroundImage();
            [id(0x800113b4), propput, bindable, displaybind]
            void backgroundRepeat(BSTR rhs);
            [id(0x800113b4), propget, bindable, displaybind]
            BSTR backgroundRepeat();
            [id(0x800113b5), propput, bindable, displaybind]
            void backgroundAttachment(BSTR rhs);
            [id(0x800113b5), propget, bindable, displaybind]
            BSTR backgroundAttachment();
            [id(0x800113b6), propput, bindable, displaybind]
            void backgroundPosition(BSTR rhs);
            [id(0x800113b6), propget, bindable, displaybind]
            BSTR backgroundPosition();
            [id(0x800113a9), propput, bindable, displaybind]
            void backgroundPositionX(VARIANT rhs);
            [id(0x800113a9), propget, bindable, displaybind]
            VARIANT backgroundPositionX();
            [id(0x800113aa), propput, bindable, displaybind]
            void backgroundPositionY(VARIANT rhs);
            [id(0x800113aa), propget, bindable, displaybind]
            VARIANT backgroundPositionY();
            [id(0x800113b7), propput, bindable, displaybind]
            void wordSpacing(VARIANT rhs);
            [id(0x800113b7), propget, bindable, displaybind]
            VARIANT wordSpacing();
            [id(0x80011390), propput, bindable, displaybind]
            void letterSpacing(VARIANT rhs);
            [id(0x80011390), propget, bindable, displaybind]
            VARIANT letterSpacing();
            [id(0x800113ab), propput, bindable, displaybind]
            void textDecoration(BSTR rhs);
            [id(0x800113ab), propget, bindable, displaybind]
            BSTR textDecoration();
            [id(0x8001139f), propput, bindable, displaybind]
            void textDecorationNone(VARIANT_BOOL rhs);
            [id(0x8001139f), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationNone();
            [id(0x8001139d), propput, bindable, displaybind]
            void textDecorationUnderline(VARIANT_BOOL rhs);
            [id(0x8001139d), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationUnderline();
            [id(0x800113cd), propput, bindable, displaybind]
            void textDecorationOverline(VARIANT_BOOL rhs);
            [id(0x800113cd), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationOverline();
            [id(0x8001139c), propput, bindable, displaybind]
            void textDecorationLineThrough(VARIANT_BOOL rhs);
            [id(0x8001139c), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationLineThrough();
            [id(0x8001139e), propput, bindable, displaybind]
            void textDecorationBlink(VARIANT_BOOL rhs);
            [id(0x8001139e), propget, bindable, displaybind]
            VARIANT_BOOL textDecorationBlink();
            [id(0x800113b8), propput, bindable, displaybind]
            void verticalAlign(VARIANT rhs);
            [id(0x800113b8), propget, bindable, displaybind]
            VARIANT verticalAlign();
            [id(0x8001138c), propput, bindable, displaybind]
            void textTransform(BSTR rhs);
            [id(0x8001138c), propget, bindable, displaybind]
            BSTR textTransform();
            [id(0x80010048), propput, bindable, displaybind]
            void textAlign(BSTR rhs);
            [id(0x80010048), propget, bindable, displaybind]
            BSTR textAlign();
            [id(0x8001138f), propput, bindable, displaybind]
            void textIndent(VARIANT rhs);
            [id(0x8001138f), propget, bindable, displaybind]
            VARIANT textIndent();
            [id(0x8001138e), propput, bindable, displaybind]
            void lineHeight(VARIANT rhs);
            [id(0x8001138e), propget, bindable, displaybind]
            VARIANT lineHeight();
            [id(0x800113ad), propput, bindable, displaybind]
            void marginTop(VARIANT rhs);
            [id(0x800113ad), propget, bindable, displaybind]
            VARIANT marginTop();
            [id(0x800113ae), propput, bindable, displaybind]
            void marginRight(VARIANT rhs);
            [id(0x800113ae), propget, bindable, displaybind]
            VARIANT marginRight();
            [id(0x800113af), propput, bindable, displaybind]
            void marginBottom(VARIANT rhs);
            [id(0x800113af), propget, bindable, displaybind]
            VARIANT marginBottom();
            [id(0x800113b0), propput, bindable, displaybind]
            void marginLeft(VARIANT rhs);
            [id(0x800113b0), propget, bindable, displaybind]
            VARIANT marginLeft();
            [id(0x800113ac), propput, bindable, displaybind]
            void margin(BSTR rhs);
            [id(0x800113ac), propget, bindable, displaybind]
            BSTR margin();
            [id(0x80011394), propput, bindable, displaybind]
            void paddingTop(VARIANT rhs);
            [id(0x80011394), propget, bindable, displaybind]
            VARIANT paddingTop();
            [id(0x80011395), propput, bindable, displaybind]
            void paddingRight(VARIANT rhs);
            [id(0x80011395), propget, bindable, displaybind]
            VARIANT paddingRight();
            [id(0x80011396), propput, bindable, displaybind]
            void paddingBottom(VARIANT rhs);
            [id(0x80011396), propget, bindable, displaybind]
            VARIANT paddingBottom();
            [id(0x80011397), propput, bindable, displaybind]
            void paddingLeft(VARIANT rhs);
            [id(0x80011397), propget, bindable, displaybind]
            VARIANT paddingLeft();
            [id(0x80011393), propput, bindable, displaybind]
            void padding(BSTR rhs);
            [id(0x80011393), propget, bindable, displaybind]
            BSTR padding();
            [id(0x800113b9), propput, bindable, displaybind]
            void border(BSTR rhs);
            [id(0x800113b9), propget, bindable, displaybind]
            BSTR border();
            [id(0x800113ba), propput, bindable, displaybind]
            void borderTop(BSTR rhs);
            [id(0x800113ba), propget, bindable, displaybind]
            BSTR borderTop();
            [id(0x800113bb), propput, bindable, displaybind]
            void borderRight(BSTR rhs);
            [id(0x800113bb), propget, bindable, displaybind]
            BSTR borderRight();
            [id(0x800113bc), propput, bindable, displaybind]
            void borderBottom(BSTR rhs);
            [id(0x800113bc), propget, bindable, displaybind]
            BSTR borderBottom();
            [id(0x800113bd), propput, bindable, displaybind]
            void borderLeft(BSTR rhs);
            [id(0x800113bd), propget, bindable, displaybind]
            BSTR borderLeft();
            [id(0x800113be), propput, bindable, displaybind]
            void borderColor(BSTR rhs);
            [id(0x800113be), propget, bindable, displaybind]
            BSTR borderColor();
            [id(0x800113bf), propput, bindable, displaybind]
            void borderTopColor(VARIANT rhs);
            [id(0x800113bf), propget, bindable, displaybind]
            VARIANT borderTopColor();
            [id(0x800113c0), propput, bindable, displaybind]
            void borderRightColor(VARIANT rhs);
            [id(0x800113c0), propget, bindable, displaybind]
            VARIANT borderRightColor();
            [id(0x800113c1), propput, bindable, displaybind]
            void borderBottomColor(VARIANT rhs);
            [id(0x800113c1), propget, bindable, displaybind]
            VARIANT borderBottomColor();
            [id(0x800113c2), propput, bindable, displaybind]
            void borderLeftColor(VARIANT rhs);
            [id(0x800113c2), propget, bindable, displaybind]
            VARIANT borderLeftColor();
            [id(0x800113c3), propput, bindable, displaybind]
            void borderWidth(BSTR rhs);
            [id(0x800113c3), propget, bindable, displaybind]
            BSTR borderWidth();
            [id(0x800113c4), propput, bindable, displaybind]
            void borderTopWidth(VARIANT rhs);
            [id(0x800113c4), propget, bindable, displaybind]
            VARIANT borderTopWidth();
            [id(0x800113c5), propput, bindable, displaybind]
            void borderRightWidth(VARIANT rhs);
            [id(0x800113c5), propget, bindable, displaybind]
            VARIANT borderRightWidth();
            [id(0x800113c6), propput, bindable, displaybind]
            void borderBottomWidth(VARIANT rhs);
            [id(0x800113c6), propget, bindable, displaybind]
            VARIANT borderBottomWidth();
            [id(0x800113c7), propput, bindable, displaybind]
            void borderLeftWidth(VARIANT rhs);
            [id(0x800113c7), propget, bindable, displaybind]
            VARIANT borderLeftWidth();
            [id(0x800113c8), propput, bindable, displaybind]
            void borderStyle(BSTR rhs);
            [id(0x800113c8), propget, bindable, displaybind]
            BSTR borderStyle();
            [id(0x800113c9), propput, bindable, displaybind]
            void borderTopStyle(BSTR rhs);
            [id(0x800113c9), propget, bindable, displaybind]
            BSTR borderTopStyle();
            [id(0x800113ca), propput, bindable, displaybind]
            void borderRightStyle(BSTR rhs);
            [id(0x800113ca), propget, bindable, displaybind]
            BSTR borderRightStyle();
            [id(0x800113cb), propput, bindable, displaybind]
            void borderBottomStyle(BSTR rhs);
            [id(0x800113cb), propget, bindable, displaybind]
            BSTR borderBottomStyle();
            [id(0x800113cc), propput, bindable, displaybind]
            void borderLeftStyle(BSTR rhs);
            [id(0x800113cc), propget, bindable, displaybind]
            BSTR borderLeftStyle();
            [id(0x80010005), propput, bindable, displaybind]
            void width(VARIANT rhs);
            [id(0x80010005), propget, bindable, displaybind]
            VARIANT width();
            [id(0x80010006), propput, bindable, displaybind]
            void height(VARIANT rhs);
            [id(0x80010006), propget, bindable, displaybind]
            VARIANT height();
            [id(0x800113ce), propput, bindable, displaybind]
            void styleFloat(BSTR rhs);
            [id(0x800113ce), propget, bindable, displaybind]
            BSTR styleFloat();
            [id(0x80011398), propput, bindable, displaybind]
            void clear(BSTR rhs);
            [id(0x80011398), propget, bindable, displaybind]
            BSTR clear();
            [id(0x800113cf), propput, bindable, displaybind]
            void display(BSTR rhs);
            [id(0x800113cf), propget, bindable, displaybind]
            BSTR display();
            [id(0x800113d8), propput, bindable, displaybind]
            void visibility(BSTR rhs);
            [id(0x800113d8), propget, bindable, displaybind]
            BSTR visibility();
            [id(0x800113d0), propput, bindable, displaybind]
            void listStyleType(BSTR rhs);
            [id(0x800113d0), propget, bindable, displaybind]
            BSTR listStyleType();
            [id(0x800113d1), propput, bindable, displaybind]
            void listStylePosition(BSTR rhs);
            [id(0x800113d1), propget, bindable, displaybind]
            BSTR listStylePosition();
            [id(0x800113d2), propput, bindable, displaybind]
            void listStyleImage(BSTR rhs);
            [id(0x800113d2), propget, bindable, displaybind]
            BSTR listStyleImage();
            [id(0x800113d3), propput, bindable, displaybind]
            void listStyle(BSTR rhs);
            [id(0x800113d3), propget, bindable, displaybind]
            BSTR listStyle();
            [id(0x800113d4), propput, bindable, displaybind]
            void whiteSpace(BSTR rhs);
            [id(0x800113d4), propget, bindable, displaybind]
            BSTR whiteSpace();
            [id(0x80010004), propput, bindable, displaybind]
            void top(VARIANT rhs);
            [id(0x80010004), propget, bindable, displaybind]
            VARIANT top();
            [id(0x80010003), propput, bindable, displaybind]
            void left(VARIANT rhs);
            [id(0x80010003), propget, bindable, displaybind]
            VARIANT left();
            [id(0x800113e3), propput, bindable, displaybind]
            void zIndex(VARIANT rhs);
            [id(0x800113e3), propget, bindable, displaybind]
            VARIANT zIndex();
            [id(0x80011392), propput, bindable, displaybind]
            void overflow(BSTR rhs);
            [id(0x80011392), propget, bindable, displaybind]
            BSTR overflow();
            [id(0x800113d5), propput, bindable, displaybind]
            void pageBreakBefore(BSTR rhs);
            [id(0x800113d5), propget, bindable, displaybind]
            BSTR pageBreakBefore();
            [id(0x800113d6), propput, bindable, displaybind]
            void pageBreakAfter(BSTR rhs);
            [id(0x800113d6), propget, bindable, displaybind]
            BSTR pageBreakAfter();
            [id(0x800113eb), propput, bindable, displaybind]
            void cssText(BSTR rhs);
            [id(0x800113eb), propget, bindable, displaybind]
            BSTR cssText();
            [id(0x800113ee), propput, bindable, displaybind]
            void cursor(BSTR rhs);
            [id(0x800113ee), propget, bindable, displaybind]
            BSTR cursor();
            [id(0x800113e4), propput, bindable, displaybind]
            void clip(BSTR rhs);
            [id(0x800113e4), propget, bindable, displaybind]
            BSTR clip();
            [id(0x800113da), propput, bindable, displaybind]
            void filter(BSTR rhs);
            [id(0x800113da), propget, bindable, displaybind]
            BSTR filter();
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800113ea), propput, bindable, displaybind]
            void tableLayout(BSTR rhs);
            [id(0x800113ea), propget, bindable, displaybind]
            BSTR tableLayout();
            [id(0x800113dc), propput, bindable, displaybind]
            void borderCollapse(BSTR rhs);
            [id(0x800113dc), propget, bindable, displaybind]
            BSTR borderCollapse();
            [id(0x800113ff), propput, bindable, displaybind]
            void direction(BSTR rhs);
            [id(0x800113ff), propget, bindable, displaybind]
            BSTR direction();
            [id(0x800113fb), propput, bindable, displaybind]
            void behavior(BSTR rhs);
            [id(0x800113fb), propget, bindable, displaybind]
            BSTR behavior();
            [id(0x800113e2), propput, bindable, displaybind]
            void position(BSTR rhs);
            [id(0x800113e2), propget, bindable, displaybind]
            BSTR position();
            [id(0x800113fe), propput, bindable, displaybind]
            void unicodeBidi(BSTR rhs);
            [id(0x800113fe), propget, bindable, displaybind]
            BSTR unicodeBidi();
            [id(0x8001004e), propput, bindable, displaybind]
            void bottom(VARIANT rhs);
            [id(0x8001004e), propget, bindable, displaybind]
            VARIANT bottom();
            [id(0x8001004d), propput, bindable, displaybind]
            void right(VARIANT rhs);
            [id(0x8001004d), propget, bindable, displaybind]
            VARIANT right();
            [id(0x80010fa9), propput, bindable, displaybind, hidden]
            void pixelBottom(long rhs);
            [id(0x80010fa9), propget, bindable, displaybind, hidden]
            long pixelBottom();
            [id(0x80010faa), propput, bindable, displaybind, hidden]
            void pixelRight(long rhs);
            [id(0x80010faa), propget, bindable, displaybind, hidden]
            long pixelRight();
            [id(0x80010fab), propput, bindable, displaybind]
            void posBottom(single rhs);
            [id(0x80010fab), propget, bindable, displaybind]
            single posBottom();
            [id(0x80010fac), propput, bindable, displaybind]
            void posRight(single rhs);
            [id(0x80010fac), propget, bindable, displaybind]
            single posRight();
            [id(0x80011400), propput, bindable, displaybind]
            void imeMode(BSTR rhs);
            [id(0x80011400), propget, bindable, displaybind]
            BSTR imeMode();
            [id(0x80011401), propput, bindable, displaybind]
            void rubyAlign(BSTR rhs);
            [id(0x80011401), propget, bindable, displaybind]
            BSTR rubyAlign();
            [id(0x80011402), propput, bindable, displaybind]
            void rubyPosition(BSTR rhs);
            [id(0x80011402), propget, bindable, displaybind]
            BSTR rubyPosition();
            [id(0x80011403), propput, bindable, displaybind]
            void rubyOverhang(BSTR rhs);
            [id(0x80011403), propget, bindable, displaybind]
            BSTR rubyOverhang();
            [id(0x80011407), propput, bindable, displaybind]
            void layoutGridChar(VARIANT rhs);
            [id(0x80011407), propget, bindable, displaybind]
            VARIANT layoutGridChar();
            [id(0x80011408), propput, bindable, displaybind]
            void layoutGridLine(VARIANT rhs);
            [id(0x80011408), propget, bindable, displaybind]
            VARIANT layoutGridLine();
            [id(0x80011409), propput, bindable, displaybind]
            void layoutGridMode(BSTR rhs);
            [id(0x80011409), propget, bindable, displaybind]
            BSTR layoutGridMode();
            [id(0x8001140a), propput, bindable, displaybind]
            void layoutGridType(BSTR rhs);
            [id(0x8001140a), propget, bindable, displaybind]
            BSTR layoutGridType();
            [id(0x8001140b), propput, bindable, displaybind]
            void layoutGrid(BSTR rhs);
            [id(0x8001140b), propget, bindable, displaybind]
            BSTR layoutGrid();
            [id(0x8001140c), propput, bindable, displaybind]
            void textAutospace(BSTR rhs);
            [id(0x8001140c), propget, bindable, displaybind]
            BSTR textAutospace();
            [id(0x8001140e), propput, bindable, displaybind]
            void wordBreak(BSTR rhs);
            [id(0x8001140e), propget, bindable, displaybind]
            BSTR wordBreak();
            [id(0x8001140d), propput, bindable, displaybind]
            void lineBreak(BSTR rhs);
            [id(0x8001140d), propget, bindable, displaybind]
            BSTR lineBreak();
            [id(0x8001140f), propput, bindable, displaybind]
            void textJustify(BSTR rhs);
            [id(0x8001140f), propget, bindable, displaybind]
            BSTR textJustify();
            [id(0x80011410), propput, bindable, displaybind]
            void textJustifyTrim(BSTR rhs);
            [id(0x80011410), propget, bindable, displaybind]
            BSTR textJustifyTrim();
            [id(0x80011411), propput, bindable, displaybind]
            void textKashida(VARIANT rhs);
            [id(0x80011411), propget, bindable, displaybind]
            VARIANT textKashida();
            [id(0x80011413), propput, bindable, displaybind]
            void overflowX(BSTR rhs);
            [id(0x80011413), propget, bindable, displaybind]
            BSTR overflowX();
            [id(0x80011414), propput, bindable, displaybind]
            void overflowY(BSTR rhs);
            [id(0x80011414), propget, bindable, displaybind]
            BSTR overflowY();
            [id(0x8001141b), propput, bindable, displaybind]
            void accelerator(BSTR rhs);
            [id(0x8001141b), propget, bindable, displaybind]
            BSTR accelerator();
            [id(0x80011423), propput, bindable, displaybind]
            void layoutFlow(BSTR rhs);
            [id(0x80011423), propget, bindable, displaybind]
            BSTR layoutFlow();
            [id(0x80011421), propput, bindable, displaybind]
            void zoom(VARIANT rhs);
            [id(0x80011421), propget, bindable, displaybind]
            VARIANT zoom();
            [id(0x80011426), propput, bindable, displaybind]
            void wordWrap(BSTR rhs);
            [id(0x80011426), propget, bindable, displaybind]
            BSTR wordWrap();
            [id(0x80011427), propput, bindable, displaybind]
            void textUnderlinePosition(BSTR rhs);
            [id(0x80011427), propget, bindable, displaybind]
            BSTR textUnderlinePosition();
            [id(0x8001143c), propput, bindable, displaybind]
            void scrollbarBaseColor(VARIANT rhs);
            [id(0x8001143c), propget, bindable, displaybind]
            VARIANT scrollbarBaseColor();
            [id(0x8001143d), propput, bindable, displaybind]
            void scrollbarFaceColor(VARIANT rhs);
            [id(0x8001143d), propget, bindable, displaybind]
            VARIANT scrollbarFaceColor();
            [id(0x8001143e), propput, bindable, displaybind]
            void scrollbar3dLightColor(VARIANT rhs);
            [id(0x8001143e), propget, bindable, displaybind]
            VARIANT scrollbar3dLightColor();
            [id(0x8001143f), propput, bindable, displaybind]
            void scrollbarShadowColor(VARIANT rhs);
            [id(0x8001143f), propget, bindable, displaybind]
            VARIANT scrollbarShadowColor();
            [id(0x80011440), propput, bindable, displaybind]
            void scrollbarHighlightColor(VARIANT rhs);
            [id(0x80011440), propget, bindable, displaybind]
            VARIANT scrollbarHighlightColor();
            [id(0x80011441), propput, bindable, displaybind]
            void scrollbarDarkShadowColor(VARIANT rhs);
            [id(0x80011441), propget, bindable, displaybind]
            VARIANT scrollbarDarkShadowColor();
            [id(0x80011442), propput, bindable, displaybind]
            void scrollbarArrowColor(VARIANT rhs);
            [id(0x80011442), propget, bindable, displaybind]
            VARIANT scrollbarArrowColor();
            [id(0x8001144c), propput, bindable, displaybind]
            void scrollbarTrackColor(VARIANT rhs);
            [id(0x8001144c), propget, bindable, displaybind]
            VARIANT scrollbarTrackColor();
            [id(0x80011448), propput, bindable, displaybind]
            void writingMode(BSTR rhs);
            [id(0x80011448), propget, bindable, displaybind]
            BSTR writingMode();
            [id(0x80011453), propput, bindable, displaybind]
            void textAlignLast(BSTR rhs);
            [id(0x80011453), propget, bindable, displaybind]
            BSTR textAlignLast();
            [id(0x80011454), propput, bindable, displaybind]
            void textKashidaSpace(VARIANT rhs);
            [id(0x80011454), propget, bindable, displaybind]
            VARIANT textKashidaSpace();
            [id(0x80011459), propput, bindable, displaybind]
            void textOverflow(BSTR rhs);
            [id(0x80011459), propget, bindable, displaybind]
            BSTR textOverflow();
            [id(0x8001145b), propput, bindable, displaybind]
            void minHeight(VARIANT rhs);
            [id(0x8001145b), propget, bindable, displaybind]
            VARIANT minHeight();
    };

    [
      uuid(3050F3D0-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLRuleStyle {
        [default] dispinterface DispHTMLRuleStyle;
        interface IHTMLRuleStyle;
        interface IHTMLRuleStyle2;
        interface IHTMLRuleStyle3;
        interface IHTMLRuleStyle4;
    };

    typedef enum {
        styleTextLineThroughStyleUndefined = 0,
        styleTextLineThroughStyleSingle = 1,
        styleTextLineThroughStyleDouble = 2,
        styleTextLineThroughStyle_Max = 0x7fffffff
    } _styleTextLineThroughStyle;

    typedef enum {
        styleTextUnderlineStyleUndefined = 0,
        styleTextUnderlineStyleSingle = 1,
        styleTextUnderlineStyleDouble = 2,
        styleTextUnderlineStyleWords = 3,
        styleTextUnderlineStyleDotted = 4,
        styleTextUnderlineStyleThick = 5,
        styleTextUnderlineStyleDash = 6,
        styleTextUnderlineStyleDotDash = 7,
        styleTextUnderlineStyleDotDotDash = 8,
        styleTextUnderlineStyleWave = 9,
        styleTextUnderlineStyleSingleAccounting = 10,
        styleTextUnderlineStyleDoubleAccounting = 11,
        styleTextUnderlineStyleThickDash = 12,
        styleTextUnderlineStyle_Max = 0x7fffffff
    } _styleTextUnderlineStyle;

    typedef enum {
        styleTextEffectNone = 0,
        styleTextEffectEmboss = 1,
        styleTextEffectEngrave = 2,
        styleTextEffectOutline = 3,
        styleTextEffect_Max = 0x7fffffff
    } _styleTextEffect;

    typedef enum {
        styleDefaultTextSelectionFalse = 0,
        styleDefaultTextSelectionTrue = 1,
        styleDefaultTextSelection_Max = 0x7fffffff
    } _styleDefaultTextSelection;

    typedef enum {
        styleTextDecorationNone = 0,
        styleTextDecorationUnderline = 1,
        styleTextDecorationOverline = 2,
        styleTextDecorationLineThrough = 3,
        styleTextDecorationBlink = 4,
        styleTextDecoration_Max = 0x7fffffff
    } _styleTextDecoration;

    [
      odl,
      uuid(3050F6AE-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLRenderStyle : IDispatch {
        [id(0x8001142e), propput, bindable, displaybind]
        HRESULT textLineThroughStyle([in] BSTR p);
        [id(0x8001142e), propget, bindable, displaybind]
        HRESULT textLineThroughStyle([out, retval] BSTR* p);
        [id(0x8001142f), propput, bindable, displaybind]
        HRESULT textUnderlineStyle([in] BSTR p);
        [id(0x8001142f), propget, bindable, displaybind]
        HRESULT textUnderlineStyle([out, retval] BSTR* p);
        [id(0x80011430), propput, bindable, displaybind]
        HRESULT textEffect([in] BSTR p);
        [id(0x80011430), propget, bindable, displaybind]
        HRESULT textEffect([out, retval] BSTR* p);
        [id(0x80011446), propput, bindable, displaybind]
        HRESULT textColor([in] VARIANT p);
        [id(0x80011446), propget, bindable, displaybind]
        HRESULT textColor([out, retval] VARIANT* p);
        [id(0x80011431), propput, bindable, displaybind]
        HRESULT textBackgroundColor([in] VARIANT p);
        [id(0x80011431), propget, bindable, displaybind]
        HRESULT textBackgroundColor([out, retval] VARIANT* p);
        [id(0x80011445), propput, bindable, displaybind]
        HRESULT textDecorationColor([in] VARIANT p);
        [id(0x80011445), propget, bindable, displaybind]
        HRESULT textDecorationColor([out, retval] VARIANT* p);
        [id(0x80011432), propput, bindable, displaybind]
        HRESULT renderingPriority([in] long p);
        [id(0x80011432), propget, bindable, displaybind]
        HRESULT renderingPriority([out, retval] long* p);
        [id(0x80011444), propput, bindable, displaybind]
        HRESULT defaultTextSelection([in] BSTR p);
        [id(0x80011444), propget, bindable, displaybind]
        HRESULT defaultTextSelection([out, retval] BSTR* p);
        [id(0x80011447), propput, bindable, displaybind]
        HRESULT textDecoration([in] BSTR p);
        [id(0x80011447), propget, bindable, displaybind]
        HRESULT textDecoration([out, retval] BSTR* p);
    };

    [
      uuid(3050F58B-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLRenderStyle {
        properties:
        methods:
            [id(0x8001142e), propput, bindable, displaybind]
            void textLineThroughStyle(BSTR rhs);
            [id(0x8001142e), propget, bindable, displaybind]
            BSTR textLineThroughStyle();
            [id(0x8001142f), propput, bindable, displaybind]
            void textUnderlineStyle(BSTR rhs);
            [id(0x8001142f), propget, bindable, displaybind]
            BSTR textUnderlineStyle();
            [id(0x80011430), propput, bindable, displaybind]
            void textEffect(BSTR rhs);
            [id(0x80011430), propget, bindable, displaybind]
            BSTR textEffect();
            [id(0x80011446), propput, bindable, displaybind]
            void textColor(VARIANT rhs);
            [id(0x80011446), propget, bindable, displaybind]
            VARIANT textColor();
            [id(0x80011431), propput, bindable, displaybind]
            void textBackgroundColor(VARIANT rhs);
            [id(0x80011431), propget, bindable, displaybind]
            VARIANT textBackgroundColor();
            [id(0x80011445), propput, bindable, displaybind]
            void textDecorationColor(VARIANT rhs);
            [id(0x80011445), propget, bindable, displaybind]
            VARIANT textDecorationColor();
            [id(0x80011432), propput, bindable, displaybind]
            void renderingPriority(long rhs);
            [id(0x80011432), propget, bindable, displaybind]
            long renderingPriority();
            [id(0x80011444), propput, bindable, displaybind]
            void defaultTextSelection(BSTR rhs);
            [id(0x80011444), propget, bindable, displaybind]
            BSTR defaultTextSelection();
            [id(0x80011447), propput, bindable, displaybind]
            void textDecoration(BSTR rhs);
            [id(0x80011447), propget, bindable, displaybind]
            BSTR textDecoration();
    };

    [
      uuid(3050F6AA-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLRenderStyle {
        [default] dispinterface DispHTMLRenderStyle;
        interface IHTMLRenderStyle;
    };

    typedef enum {
        textDecorationNone = 0,
        textDecorationUnderline = 1,
        textDecorationOverline = 2,
        textDecorationLineThrough = 3,
        textDecorationBlink = 4,
        textDecoration_Max = 0x7fffffff
    } _textDecoration;

    [
      odl,
      uuid(3050F3DB-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLCurrentStyle : IDispatch {
        [id(0x800113e2), propget, bindable, displaybind]
        HRESULT position([out, retval] BSTR* p);
        [id(0x800113ce), propget, bindable, displaybind]
        HRESULT styleFloat([out, retval] BSTR* p);
        [id(0x8001138a), propget, bindable, displaybind]
        HRESULT color([out, retval] VARIANT* p);
        [id(0xfffffe0b), propget, bindable, displaybind]
        HRESULT backgroundColor([out, retval] VARIANT* p);
        [id(0x8001139a), propget, bindable, displaybind]
        HRESULT fontFamily([out, retval] BSTR* p);
        [id(0x800113a0), propget, bindable, displaybind]
        HRESULT fontStyle([out, retval] BSTR* p);
        [id(0x800113a1), propget, bindable, displaybind, hidden]
        HRESULT fontVariant([out, retval] BSTR* p);
        [id(0x800113a3), propget, bindable, displaybind]
        HRESULT fontWeight([out, retval] VARIANT* p);
        [id(0x8001139b), propget, bindable, displaybind]
        HRESULT fontSize([out, retval] VARIANT* p);
        [id(0x80011389), propget, bindable, displaybind]
        HRESULT backgroundImage([out, retval] BSTR* p);
        [id(0x800113a9), propget, bindable, displaybind]
        HRESULT backgroundPositionX([out, retval] VARIANT* p);
        [id(0x800113aa), propget, bindable, displaybind]
        HRESULT backgroundPositionY([out, retval] VARIANT* p);
        [id(0x800113b4), propget, bindable, displaybind]
        HRESULT backgroundRepeat([out, retval] BSTR* p);
        [id(0x800113c2), propget, bindable, displaybind]
        HRESULT borderLeftColor([out, retval] VARIANT* p);
        [id(0x800113bf), propget, bindable, displaybind]
        HRESULT borderTopColor([out, retval] VARIANT* p);
        [id(0x800113c0), propget, bindable, displaybind]
        HRESULT borderRightColor([out, retval] VARIANT* p);
        [id(0x800113c1), propget, bindable, displaybind]
        HRESULT borderBottomColor([out, retval] VARIANT* p);
        [id(0x800113c9), propget, bindable, displaybind]
        HRESULT borderTopStyle([out, retval] BSTR* p);
        [id(0x800113ca), propget, bindable, displaybind]
        HRESULT borderRightStyle([out, retval] BSTR* p);
        [id(0x800113cb), propget, bindable, displaybind]
        HRESULT borderBottomStyle([out, retval] BSTR* p);
        [id(0x800113cc), propget, bindable, displaybind]
        HRESULT borderLeftStyle([out, retval] BSTR* p);
        [id(0x800113c4), propget, bindable, displaybind]
        HRESULT borderTopWidth([out, retval] VARIANT* p);
        [id(0x800113c5), propget, bindable, displaybind]
        HRESULT borderRightWidth([out, retval] VARIANT* p);
        [id(0x800113c6), propget, bindable, displaybind]
        HRESULT borderBottomWidth([out, retval] VARIANT* p);
        [id(0x800113c7), propget, bindable, displaybind]
        HRESULT borderLeftWidth([out, retval] VARIANT* p);
        [id(0x80010003), propget, bindable, displaybind]
        HRESULT left([out, retval] VARIANT* p);
        [id(0x80010004), propget, bindable, displaybind]
        HRESULT top([out, retval] VARIANT* p);
        [id(0x80010005), propget, bindable, displaybind]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propget, bindable, displaybind]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x80011397), propget, bindable, displaybind]
        HRESULT paddingLeft([out, retval] VARIANT* p);
        [id(0x80011394), propget, bindable, displaybind]
        HRESULT paddingTop([out, retval] VARIANT* p);
        [id(0x80011395), propget, bindable, displaybind]
        HRESULT paddingRight([out, retval] VARIANT* p);
        [id(0x80011396), propget, bindable, displaybind]
        HRESULT paddingBottom([out, retval] VARIANT* p);
        [id(0x80010048), propget, bindable, displaybind]
        HRESULT textAlign([out, retval] BSTR* p);
        [id(0x800113ab), propget, bindable, displaybind]
        HRESULT textDecoration([out, retval] BSTR* p);
        [id(0x800113cf), propget, bindable, displaybind]
        HRESULT display([out, retval] BSTR* p);
        [id(0x800113d8), propget, bindable, displaybind]
        HRESULT visibility([out, retval] BSTR* p);
        [id(0x800113e3), propget, bindable, displaybind]
        HRESULT zIndex([out, retval] VARIANT* p);
        [id(0x80011390), propget, bindable, displaybind]
        HRESULT letterSpacing([out, retval] VARIANT* p);
        [id(0x8001138e), propget, bindable, displaybind]
        HRESULT lineHeight([out, retval] VARIANT* p);
        [id(0x8001138f), propget, bindable, displaybind]
        HRESULT textIndent([out, retval] VARIANT* p);
        [id(0x800113b8), propget, bindable, displaybind]
        HRESULT verticalAlign([out, retval] VARIANT* p);
        [id(0x800113b5), propget, bindable, displaybind]
        HRESULT backgroundAttachment([out, retval] BSTR* p);
        [id(0x800113ad), propget, bindable, displaybind]
        HRESULT marginTop([out, retval] VARIANT* p);
        [id(0x800113ae), propget, bindable, displaybind]
        HRESULT marginRight([out, retval] VARIANT* p);
        [id(0x800113af), propget, bindable, displaybind]
        HRESULT marginBottom([out, retval] VARIANT* p);
        [id(0x800113b0), propget, bindable, displaybind]
        HRESULT marginLeft([out, retval] VARIANT* p);
        [id(0x80011398), propget, bindable, displaybind]
        HRESULT clear([out, retval] BSTR* p);
        [id(0x800113d0), propget, bindable, displaybind]
        HRESULT listStyleType([out, retval] BSTR* p);
        [id(0x800113d1), propget, bindable, displaybind]
        HRESULT listStylePosition([out, retval] BSTR* p);
        [id(0x800113d2), propget, bindable, displaybind]
        HRESULT listStyleImage([out, retval] BSTR* p);
        [id(0x800113e5), propget, bindable, displaybind]
        HRESULT clipTop([out, retval] VARIANT* p);
        [id(0x800113e6), propget, bindable, displaybind]
        HRESULT clipRight([out, retval] VARIANT* p);
        [id(0x800113e7), propget, bindable, displaybind]
        HRESULT clipBottom([out, retval] VARIANT* p);
        [id(0x800113e8), propget, bindable, displaybind]
        HRESULT clipLeft([out, retval] VARIANT* p);
        [id(0x80011392), propget, bindable, displaybind]
        HRESULT overflow([out, retval] BSTR* p);
        [id(0x800113d5), propget, bindable, displaybind]
        HRESULT pageBreakBefore([out, retval] BSTR* p);
        [id(0x800113d6), propget, bindable, displaybind]
        HRESULT pageBreakAfter([out, retval] BSTR* p);
        [id(0x800113ee), propget, bindable, displaybind]
        HRESULT cursor([out, retval] BSTR* p);
        [id(0x800113ea), propget, bindable, displaybind]
        HRESULT tableLayout([out, retval] BSTR* p);
        [id(0x800113dc), propget, bindable, displaybind]
        HRESULT borderCollapse([out, retval] BSTR* p);
        [id(0x800113ff), propget, bindable, displaybind]
        HRESULT direction([out, retval] BSTR* p);
        [id(0x800113fb), propget, bindable, displaybind]
        HRESULT behavior([out, retval] BSTR* p);
        [id(0x800101f6)]
        HRESULT getAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(0)] long lFlags, 
                        [out, retval] VARIANT* AttributeValue);
        [id(0x800113fe), propget, bindable, displaybind]
        HRESULT unicodeBidi([out, retval] BSTR* p);
        [id(0x8001004d), propget, bindable, displaybind]
        HRESULT right([out, retval] VARIANT* p);
        [id(0x8001004e), propget, bindable, displaybind]
        HRESULT bottom([out, retval] VARIANT* p);
        [id(0x80011400), propget, bindable, displaybind]
        HRESULT imeMode([out, retval] BSTR* p);
        [id(0x80011401), propget, bindable, displaybind]
        HRESULT rubyAlign([out, retval] BSTR* p);
        [id(0x80011402), propget, bindable, displaybind]
        HRESULT rubyPosition([out, retval] BSTR* p);
        [id(0x80011403), propget, bindable, displaybind]
        HRESULT rubyOverhang([out, retval] BSTR* p);
        [id(0x8001140c), propget, bindable, displaybind]
        HRESULT textAutospace([out, retval] BSTR* p);
        [id(0x8001140d), propget, bindable, displaybind]
        HRESULT lineBreak([out, retval] BSTR* p);
        [id(0x8001140e), propget, bindable, displaybind]
        HRESULT wordBreak([out, retval] BSTR* p);
        [id(0x8001140f), propget, bindable, displaybind]
        HRESULT textJustify([out, retval] BSTR* p);
        [id(0x80011410), propget, bindable, displaybind]
        HRESULT textJustifyTrim([out, retval] BSTR* p);
        [id(0x80011411), propget, bindable, displaybind]
        HRESULT textKashida([out, retval] VARIANT* p);
        [id(0x800113fd), propget, bindable, displaybind]
        HRESULT blockDirection([out, retval] BSTR* p);
        [id(0x80011407), propget, bindable, displaybind]
        HRESULT layoutGridChar([out, retval] VARIANT* p);
        [id(0x80011408), propget, bindable, displaybind]
        HRESULT layoutGridLine([out, retval] VARIANT* p);
        [id(0x80011409), propget, bindable, displaybind]
        HRESULT layoutGridMode([out, retval] BSTR* p);
        [id(0x8001140a), propget, bindable, displaybind]
        HRESULT layoutGridType([out, retval] BSTR* p);
        [id(0x800113c8), propget, bindable, displaybind]
        HRESULT borderStyle([out, retval] BSTR* p);
        [id(0x800113be), propget, bindable, displaybind]
        HRESULT borderColor([out, retval] BSTR* p);
        [id(0x800113c3), propget, bindable, displaybind]
        HRESULT borderWidth([out, retval] BSTR* p);
        [id(0x80011393), propget, bindable, displaybind]
        HRESULT padding([out, retval] BSTR* p);
        [id(0x800113ac), propget, bindable, displaybind]
        HRESULT margin([out, retval] BSTR* p);
        [id(0x8001141b), propget, bindable, displaybind]
        HRESULT accelerator([out, retval] BSTR* p);
        [id(0x80011413), propget, bindable, displaybind]
        HRESULT overflowX([out, retval] BSTR* p);
        [id(0x80011414), propget, bindable, displaybind]
        HRESULT overflowY([out, retval] BSTR* p);
        [id(0x8001138c), propget, bindable, displaybind]
        HRESULT textTransform([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F658-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLCurrentStyle2 : IDispatch {
        [id(0x80011423), propget, bindable, displaybind]
        HRESULT layoutFlow([out, retval] BSTR* p);
        [id(0x80011426), propget, bindable, displaybind]
        HRESULT wordWrap([out, retval] BSTR* p);
        [id(0x80011427), propget, bindable, displaybind]
        HRESULT textUnderlinePosition([out, retval] BSTR* p);
        [id(0x80011428), propget, bindable, displaybind]
        HRESULT hasLayout([out, retval] VARIANT_BOOL* p);
        [id(0x8001143c), propget, bindable, displaybind]
        HRESULT scrollbarBaseColor([out, retval] VARIANT* p);
        [id(0x8001143d), propget, bindable, displaybind]
        HRESULT scrollbarFaceColor([out, retval] VARIANT* p);
        [id(0x8001143e), propget, bindable, displaybind]
        HRESULT scrollbar3dLightColor([out, retval] VARIANT* p);
        [id(0x8001143f), propget, bindable, displaybind]
        HRESULT scrollbarShadowColor([out, retval] VARIANT* p);
        [id(0x80011440), propget, bindable, displaybind]
        HRESULT scrollbarHighlightColor([out, retval] VARIANT* p);
        [id(0x80011441), propget, bindable, displaybind]
        HRESULT scrollbarDarkShadowColor([out, retval] VARIANT* p);
        [id(0x80011442), propget, bindable, displaybind]
        HRESULT scrollbarArrowColor([out, retval] VARIANT* p);
        [id(0x8001144c), propget, bindable, displaybind]
        HRESULT scrollbarTrackColor([out, retval] VARIANT* p);
        [id(0x80011448), propget, bindable, displaybind]
        HRESULT writingMode([out, retval] BSTR* p);
        [id(0x80011421), propget, bindable, displaybind]
        HRESULT zoom([out, retval] VARIANT* p);
        [id(0x800113da), propget, bindable, displaybind]
        HRESULT filter([out, retval] BSTR* p);
        [id(0x80011453), propget, bindable, displaybind]
        HRESULT textAlignLast([out, retval] BSTR* p);
        [id(0x80011454), propget, bindable, displaybind]
        HRESULT textKashidaSpace([out, retval] VARIANT* p);
        [id(0x80011458), propget, restricted, bindable, displaybind, hidden]
        HRESULT isBlock([out, retval] VARIANT_BOOL* p);
    };

    [
      odl,
      uuid(3050F818-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLCurrentStyle3 : IDispatch {
        [id(0x80011459), propget, bindable, displaybind]
        HRESULT textOverflow([out, retval] BSTR* p);
        [id(0x8001145b), propget, bindable, displaybind]
        HRESULT minHeight([out, retval] VARIANT* p);
        [id(0x800113b7), propget, bindable, displaybind]
        HRESULT wordSpacing([out, retval] VARIANT* p);
        [id(0x800113d4), propget, bindable, displaybind]
        HRESULT whiteSpace([out, retval] BSTR* p);
    };

    [
      uuid(3050F557-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLCurrentStyle {
        properties:
        methods:
            [id(0x800113e2), propget, bindable, displaybind]
            BSTR position();
            [id(0x800113ce), propget, bindable, displaybind]
            BSTR styleFloat();
            [id(0x8001138a), propget, bindable, displaybind]
            VARIANT color();
            [id(0xfffffe0b), propget, bindable, displaybind]
            VARIANT backgroundColor();
            [id(0x8001139a), propget, bindable, displaybind]
            BSTR fontFamily();
            [id(0x800113a0), propget, bindable, displaybind]
            BSTR fontStyle();
            [id(0x800113a1), propget, bindable, displaybind, hidden]
            BSTR fontVariant();
            [id(0x800113a3), propget, bindable, displaybind]
            VARIANT fontWeight();
            [id(0x8001139b), propget, bindable, displaybind]
            VARIANT fontSize();
            [id(0x80011389), propget, bindable, displaybind]
            BSTR backgroundImage();
            [id(0x800113a9), propget, bindable, displaybind]
            VARIANT backgroundPositionX();
            [id(0x800113aa), propget, bindable, displaybind]
            VARIANT backgroundPositionY();
            [id(0x800113b4), propget, bindable, displaybind]
            BSTR backgroundRepeat();
            [id(0x800113c2), propget, bindable, displaybind]
            VARIANT borderLeftColor();
            [id(0x800113bf), propget, bindable, displaybind]
            VARIANT borderTopColor();
            [id(0x800113c0), propget, bindable, displaybind]
            VARIANT borderRightColor();
            [id(0x800113c1), propget, bindable, displaybind]
            VARIANT borderBottomColor();
            [id(0x800113c9), propget, bindable, displaybind]
            BSTR borderTopStyle();
            [id(0x800113ca), propget, bindable, displaybind]
            BSTR borderRightStyle();
            [id(0x800113cb), propget, bindable, displaybind]
            BSTR borderBottomStyle();
            [id(0x800113cc), propget, bindable, displaybind]
            BSTR borderLeftStyle();
            [id(0x800113c4), propget, bindable, displaybind]
            VARIANT borderTopWidth();
            [id(0x800113c5), propget, bindable, displaybind]
            VARIANT borderRightWidth();
            [id(0x800113c6), propget, bindable, displaybind]
            VARIANT borderBottomWidth();
            [id(0x800113c7), propget, bindable, displaybind]
            VARIANT borderLeftWidth();
            [id(0x80010003), propget, bindable, displaybind]
            VARIANT left();
            [id(0x80010004), propget, bindable, displaybind]
            VARIANT top();
            [id(0x80010005), propget, bindable, displaybind]
            VARIANT width();
            [id(0x80010006), propget, bindable, displaybind]
            VARIANT height();
            [id(0x80011397), propget, bindable, displaybind]
            VARIANT paddingLeft();
            [id(0x80011394), propget, bindable, displaybind]
            VARIANT paddingTop();
            [id(0x80011395), propget, bindable, displaybind]
            VARIANT paddingRight();
            [id(0x80011396), propget, bindable, displaybind]
            VARIANT paddingBottom();
            [id(0x80010048), propget, bindable, displaybind]
            BSTR textAlign();
            [id(0x800113ab), propget, bindable, displaybind]
            BSTR textDecoration();
            [id(0x800113cf), propget, bindable, displaybind]
            BSTR display();
            [id(0x800113d8), propget, bindable, displaybind]
            BSTR visibility();
            [id(0x800113e3), propget, bindable, displaybind]
            VARIANT zIndex();
            [id(0x80011390), propget, bindable, displaybind]
            VARIANT letterSpacing();
            [id(0x8001138e), propget, bindable, displaybind]
            VARIANT lineHeight();
            [id(0x8001138f), propget, bindable, displaybind]
            VARIANT textIndent();
            [id(0x800113b8), propget, bindable, displaybind]
            VARIANT verticalAlign();
            [id(0x800113b5), propget, bindable, displaybind]
            BSTR backgroundAttachment();
            [id(0x800113ad), propget, bindable, displaybind]
            VARIANT marginTop();
            [id(0x800113ae), propget, bindable, displaybind]
            VARIANT marginRight();
            [id(0x800113af), propget, bindable, displaybind]
            VARIANT marginBottom();
            [id(0x800113b0), propget, bindable, displaybind]
            VARIANT marginLeft();
            [id(0x80011398), propget, bindable, displaybind]
            BSTR clear();
            [id(0x800113d0), propget, bindable, displaybind]
            BSTR listStyleType();
            [id(0x800113d1), propget, bindable, displaybind]
            BSTR listStylePosition();
            [id(0x800113d2), propget, bindable, displaybind]
            BSTR listStyleImage();
            [id(0x800113e5), propget, bindable, displaybind]
            VARIANT clipTop();
            [id(0x800113e6), propget, bindable, displaybind]
            VARIANT clipRight();
            [id(0x800113e7), propget, bindable, displaybind]
            VARIANT clipBottom();
            [id(0x800113e8), propget, bindable, displaybind]
            VARIANT clipLeft();
            [id(0x80011392), propget, bindable, displaybind]
            BSTR overflow();
            [id(0x800113d5), propget, bindable, displaybind]
            BSTR pageBreakBefore();
            [id(0x800113d6), propget, bindable, displaybind]
            BSTR pageBreakAfter();
            [id(0x800113ee), propget, bindable, displaybind]
            BSTR cursor();
            [id(0x800113ea), propget, bindable, displaybind]
            BSTR tableLayout();
            [id(0x800113dc), propget, bindable, displaybind]
            BSTR borderCollapse();
            [id(0x800113ff), propget, bindable, displaybind]
            BSTR direction();
            [id(0x800113fb), propget, bindable, displaybind]
            BSTR behavior();
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800113fe), propget, bindable, displaybind]
            BSTR unicodeBidi();
            [id(0x8001004d), propget, bindable, displaybind]
            VARIANT right();
            [id(0x8001004e), propget, bindable, displaybind]
            VARIANT bottom();
            [id(0x80011400), propget, bindable, displaybind]
            BSTR imeMode();
            [id(0x80011401), propget, bindable, displaybind]
            BSTR rubyAlign();
            [id(0x80011402), propget, bindable, displaybind]
            BSTR rubyPosition();
            [id(0x80011403), propget, bindable, displaybind]
            BSTR rubyOverhang();
            [id(0x8001140c), propget, bindable, displaybind]
            BSTR textAutospace();
            [id(0x8001140d), propget, bindable, displaybind]
            BSTR lineBreak();
            [id(0x8001140e), propget, bindable, displaybind]
            BSTR wordBreak();
            [id(0x8001140f), propget, bindable, displaybind]
            BSTR textJustify();
            [id(0x80011410), propget, bindable, displaybind]
            BSTR textJustifyTrim();
            [id(0x80011411), propget, bindable, displaybind]
            VARIANT textKashida();
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR blockDirection();
            [id(0x80011407), propget, bindable, displaybind]
            VARIANT layoutGridChar();
            [id(0x80011408), propget, bindable, displaybind]
            VARIANT layoutGridLine();
            [id(0x80011409), propget, bindable, displaybind]
            BSTR layoutGridMode();
            [id(0x8001140a), propget, bindable, displaybind]
            BSTR layoutGridType();
            [id(0x800113c8), propget, bindable, displaybind]
            BSTR borderStyle();
            [id(0x800113be), propget, bindable, displaybind]
            BSTR borderColor();
            [id(0x800113c3), propget, bindable, displaybind]
            BSTR borderWidth();
            [id(0x80011393), propget, bindable, displaybind]
            BSTR padding();
            [id(0x800113ac), propget, bindable, displaybind]
            BSTR margin();
            [id(0x8001141b), propget, bindable, displaybind]
            BSTR accelerator();
            [id(0x80011413), propget, bindable, displaybind]
            BSTR overflowX();
            [id(0x80011414), propget, bindable, displaybind]
            BSTR overflowY();
            [id(0x8001138c), propget, bindable, displaybind]
            BSTR textTransform();
            [id(0x80011423), propget, bindable, displaybind]
            BSTR layoutFlow();
            [id(0x80011426), propget, bindable, displaybind]
            BSTR wordWrap();
            [id(0x80011427), propget, bindable, displaybind]
            BSTR textUnderlinePosition();
            [id(0x80011428), propget, bindable, displaybind]
            VARIANT_BOOL hasLayout();
            [id(0x8001143c), propget, bindable, displaybind]
            VARIANT scrollbarBaseColor();
            [id(0x8001143d), propget, bindable, displaybind]
            VARIANT scrollbarFaceColor();
            [id(0x8001143e), propget, bindable, displaybind]
            VARIANT scrollbar3dLightColor();
            [id(0x8001143f), propget, bindable, displaybind]
            VARIANT scrollbarShadowColor();
            [id(0x80011440), propget, bindable, displaybind]
            VARIANT scrollbarHighlightColor();
            [id(0x80011441), propget, bindable, displaybind]
            VARIANT scrollbarDarkShadowColor();
            [id(0x80011442), propget, bindable, displaybind]
            VARIANT scrollbarArrowColor();
            [id(0x8001144c), propget, bindable, displaybind]
            VARIANT scrollbarTrackColor();
            [id(0x80011448), propget, bindable, displaybind]
            BSTR writingMode();
            [id(0x80011421), propget, bindable, displaybind]
            VARIANT zoom();
            [id(0x800113da), propget, bindable, displaybind]
            BSTR filter();
            [id(0x80011453), propget, bindable, displaybind]
            BSTR textAlignLast();
            [id(0x80011454), propget, bindable, displaybind]
            VARIANT textKashidaSpace();
            [id(0x80011458), propget, restricted, bindable, displaybind, hidden]
            VARIANT_BOOL isBlock();
            [id(0x80011459), propget, bindable, displaybind]
            BSTR textOverflow();
            [id(0x8001145b), propget, bindable, displaybind]
            VARIANT minHeight();
            [id(0x800113b7), propget, bindable, displaybind]
            VARIANT wordSpacing();
            [id(0x800113d4), propget, bindable, displaybind]
            BSTR whiteSpace();
    };

    [
      uuid(3050F3DC-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLCurrentStyle {
        [default] dispinterface DispHTMLCurrentStyle;
        interface IHTMLCurrentStyle;
        interface IHTMLCurrentStyle2;
        interface IHTMLCurrentStyle3;
    };

    [
      odl,
      uuid(3050F4A3-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLRect : IDispatch {
        [id(0x000003e9), propput]
        HRESULT left([in] long p);
        [id(0x000003e9), propget]
        HRESULT left([out, retval] long* p);
        [id(0x000003ea), propput]
        HRESULT top([in] long p);
        [id(0x000003ea), propget]
        HRESULT top([out, retval] long* p);
        [id(0x000003eb), propput]
        HRESULT right([in] long p);
        [id(0x000003eb), propget]
        HRESULT right([out, retval] long* p);
        [id(0x000003ec), propput]
        HRESULT bottom([in] long p);
        [id(0x000003ec), propget]
        HRESULT bottom([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F4A4-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLRectCollection : IDispatch {
        [id(0x000005dc), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in] VARIANT* pvarIndex, 
                        [out, retval] VARIANT* pvarResult);
    };

    [
      odl,
      uuid(3050F5DA-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDOMNode : IDispatch {
        [id(0x80010416), propget]
        HRESULT nodeType([out, retval] long* p);
        [id(0x80010417), propget]
        HRESULT parentNode([out, retval] IHTMLDOMNode** p);
        [id(0x80010418)]
        HRESULT hasChildNodes([out, retval] VARIANT_BOOL* fChildren);
        [id(0x80010419), propget]
        HRESULT childNodes([out, retval] IDispatch** p);
        [id(0x8001041a), propget]
        HRESULT attributes([out, retval] IDispatch** p);
        [id(0x8001041b)]
        HRESULT insertBefore(
                        [in] IHTMLDOMNode* newChild, 
                        [in, optional] VARIANT refChild, 
                        [out, retval] IHTMLDOMNode** node);
        [id(0x8001041c)]
        HRESULT removeChild(
                        [in] IHTMLDOMNode* oldChild, 
                        [out, retval] IHTMLDOMNode** node);
        [id(0x8001041d)]
        HRESULT replaceChild(
                        [in] IHTMLDOMNode* newChild, 
                        [in] IHTMLDOMNode* oldChild, 
                        [out, retval] IHTMLDOMNode** node);
        [id(0x80010425)]
        HRESULT cloneNode(
                        [in] VARIANT_BOOL fDeep, 
                        [out, retval] IHTMLDOMNode** clonedNode);
        [id(0x8001042a)]
        HRESULT removeNode(
                        [in, optional, defaultvalue(0)] VARIANT_BOOL fDeep, 
                        [out, retval] IHTMLDOMNode** removed);
        [id(0x8001042c)]
        HRESULT swapNode(
                        [in] IHTMLDOMNode* otherNode, 
                        [out, retval] IHTMLDOMNode** swappedNode);
        [id(0x8001042b)]
        HRESULT replaceNode(
                        [in] IHTMLDOMNode* replacement, 
                        [out, retval] IHTMLDOMNode** replaced);
        [id(0x80010431)]
        HRESULT appendChild(
                        [in] IHTMLDOMNode* newChild, 
                        [out, retval] IHTMLDOMNode** node);
        [id(0x80010432), propget]
        HRESULT nodeName([out, retval] BSTR* p);
        [id(0x80010433), propput]
        HRESULT nodeValue([in] VARIANT p);
        [id(0x80010433), propget]
        HRESULT nodeValue([out, retval] VARIANT* p);
        [id(0x80010434), propget]
        HRESULT firstChild([out, retval] IHTMLDOMNode** p);
        [id(0x80010435), propget]
        HRESULT lastChild([out, retval] IHTMLDOMNode** p);
        [id(0x80010436), propget]
        HRESULT previousSibling([out, retval] IHTMLDOMNode** p);
        [id(0x80010437), propget]
        HRESULT nextSibling([out, retval] IHTMLDOMNode** p);
    };

    [
      odl,
      uuid(3050F80B-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDOMNode2 : IDispatch {
        [id(0x80010459), propget]
        HRESULT ownerDocument([out, retval] IDispatch** p);
    };

    [
      odl,
      uuid(3050F4B0-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDOMAttribute : IDispatch {
        [id(0x000003e8), propget]
        HRESULT nodeName([out, retval] BSTR* p);
        [id(0x000003ea), propput]
        HRESULT nodeValue([in] VARIANT p);
        [id(0x000003ea), propget]
        HRESULT nodeValue([out, retval] VARIANT* p);
        [id(0x000003e9), propget]
        HRESULT specified([out, retval] VARIANT_BOOL* p);
    };

    [
      odl,
      uuid(3050F810-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDOMAttribute2 : IDispatch {
        [id(0x000003eb), propget]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000003ec), propput]
        HRESULT value([in] BSTR p);
        [id(0x000003ec), propget]
        HRESULT value([out, retval] BSTR* p);
        [id(0x000003ed), propget]
        HRESULT expando([out, retval] VARIANT_BOOL* p);
        [id(0x000003ee), propget]
        HRESULT nodeType([out, retval] long* p);
        [id(0x000003ef), propget]
        HRESULT parentNode([out, retval] IHTMLDOMNode** p);
        [id(0x000003f0), propget]
        HRESULT childNodes([out, retval] IDispatch** p);
        [id(0x000003f1), propget]
        HRESULT firstChild([out, retval] IHTMLDOMNode** p);
        [id(0x000003f2), propget]
        HRESULT lastChild([out, retval] IHTMLDOMNode** p);
        [id(0x000003f3), propget]
        HRESULT previousSibling([out, retval] IHTMLDOMNode** p);
        [id(0x000003f4), propget]
        HRESULT nextSibling([out, retval] IHTMLDOMNode** p);
        [id(0x000003f5), propget]
        HRESULT attributes([out, retval] IDispatch** p);
        [id(0x000003f6), propget]
        HRESULT ownerDocument([out, retval] IDispatch** p);
        [id(0x000003f7)]
        HRESULT insertBefore(
                        [in] IHTMLDOMNode* newChild, 
                        [in, optional] VARIANT refChild, 
                        [out, retval] IHTMLDOMNode** node);
        [id(0x000003f8)]
        HRESULT replaceChild(
                        [in] IHTMLDOMNode* newChild, 
                        [in] IHTMLDOMNode* oldChild, 
                        [out, retval] IHTMLDOMNode** node);
        [id(0x000003f9)]
        HRESULT removeChild(
                        [in] IHTMLDOMNode* oldChild, 
                        [out, retval] IHTMLDOMNode** node);
        [id(0x000003fa)]
        HRESULT appendChild(
                        [in] IHTMLDOMNode* newChild, 
                        [out, retval] IHTMLDOMNode** node);
        [id(0x000003fb)]
        HRESULT hasChildNodes([out, retval] VARIANT_BOOL* fChildren);
        [id(0x000003fc)]
        HRESULT cloneNode(
                        [in] VARIANT_BOOL fDeep, 
                        [out, retval] IHTMLDOMAttribute** clonedNode);
    };

    [
      odl,
      uuid(3050F4B1-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDOMTextNode : IDispatch {
        [id(0x000003e8), propput]
        HRESULT data([in] BSTR p);
        [id(0x000003e8), propget]
        HRESULT data([out, retval] BSTR* p);
        [id(0x000003e9)]
        HRESULT toString([out, retval] BSTR* String);
        [id(0x000003ea), propget]
        HRESULT length([out, retval] long* p);
        [id(0x000003eb)]
        HRESULT splitText(
                        [in] long offset, 
                        [out, retval] IHTMLDOMNode** pRetNode);
    };

    [
      odl,
      uuid(3050F809-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDOMTextNode2 : IDispatch {
        [id(0x000003ec)]
        HRESULT substringData(
                        [in] long offset, 
                        [in] long Count, 
                        [out, retval] BSTR* pbstrsubString);
        [id(0x000003ed)]
        HRESULT appendData([in] BSTR bstrstring);
        [id(0x000003ee)]
        HRESULT insertData(
                        [in] long offset, 
                        [in] BSTR bstrstring);
        [id(0x000003ef)]
        HRESULT deleteData(
                        [in] long offset, 
                        [in] long Count);
        [id(0x000003f0)]
        HRESULT replaceData(
                        [in] long offset, 
                        [in] long Count, 
                        [in] BSTR bstrstring);
    };

    [
      odl,
      uuid(3050F80D-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDOMImplementation : IDispatch {
        [id(0x000003e8)]
        HRESULT hasFeature(
                        [in] BSTR bstrfeature, 
                        [in, optional] VARIANT version, 
                        [out, retval] VARIANT_BOOL* pfHasFeature);
    };

    [
      uuid(3050F564-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDOMAttribute {
        properties:
        methods:
            [id(0x000003e8), propget]
            BSTR nodeName();
            [id(0x000003ea), propput]
            void nodeValue(VARIANT rhs);
            [id(0x000003ea), propget]
            VARIANT nodeValue();
            [id(0x000003e9), propget]
            VARIANT_BOOL specified();
            [id(0x000003eb), propget]
            BSTR name();
            [id(0x000003ec), propput]
            void value(BSTR rhs);
            [id(0x000003ec), propget]
            BSTR value();
            [id(0x000003ed), propget]
            VARIANT_BOOL expando();
            [id(0x000003ee), propget]
            long nodeType();
            [id(0x000003ef), propget]
            IHTMLDOMNode* parentNode();
            [id(0x000003f0), propget]
            IDispatch* childNodes();
            [id(0x000003f1), propget]
            IHTMLDOMNode* firstChild();
            [id(0x000003f2), propget]
            IHTMLDOMNode* lastChild();
            [id(0x000003f3), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x000003f4), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x000003f5), propget]
            IDispatch* attributes();
            [id(0x000003f6), propget]
            IDispatch* ownerDocument();
            [id(0x000003f7)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x000003f8)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x000003f9)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x000003fa)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x000003fb)]
            VARIANT_BOOL hasChildNodes();
            [id(0x000003fc)]
            IHTMLDOMAttribute* cloneNode([in] VARIANT_BOOL fDeep);
    };

    [
      uuid(3050F4B2-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDOMAttribute {
        [default] dispinterface DispHTMLDOMAttribute;
        interface IHTMLDOMAttribute;
        interface IHTMLDOMAttribute2;
    };

    [
      uuid(3050F565-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDOMTextNode {
        properties:
        methods:
            [id(0x000003e8), propput]
            void data(BSTR rhs);
            [id(0x000003e8), propget]
            BSTR data();
            [id(0x000003e9)]
            BSTR toString();
            [id(0x000003ea), propget]
            long length();
            [id(0x000003eb)]
            IHTMLDOMNode* splitText([in] long offset);
            [id(0x000003ec)]
            BSTR substringData(
                            [in] long offset, 
                            [in] long Count);
            [id(0x000003ed)]
            void appendData([in] BSTR bstrstring);
            [id(0x000003ee)]
            void insertData(
                            [in] long offset, 
                            [in] BSTR bstrstring);
            [id(0x000003ef)]
            void deleteData(
                            [in] long offset, 
                            [in] long Count);
            [id(0x000003f0)]
            void replaceData(
                            [in] long offset, 
                            [in] long Count, 
                            [in] BSTR bstrstring);
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
    };

    [
      uuid(3050F4BA-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDOMTextNode {
        [default] dispinterface DispHTMLDOMTextNode;
        interface IHTMLDOMTextNode;
        interface IHTMLDOMTextNode2;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
    };

    [
      uuid(3050F58F-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDOMImplementation {
        properties:
        methods:
            [id(0x000003e8)]
            VARIANT_BOOL hasFeature(
                            [in] BSTR bstrfeature, 
                            [in, optional] VARIANT version);
    };

    [
      uuid(3050F80E-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDOMImplementation {
        [default] dispinterface DispHTMLDOMImplementation;
        interface IHTMLDOMImplementation;
    };

    [
      odl,
      uuid(3050F4C3-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAttributeCollection : IDispatch {
        [id(0x000005dc), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in, optional] VARIANT* name, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F80A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAttributeCollection2 : IDispatch {
        [id(0x000005dd)]
        HRESULT getNamedItem(
                        [in] BSTR bstrName, 
                        [out, retval] IHTMLDOMAttribute** newretNode);
        [id(0x000005de)]
        HRESULT setNamedItem(
                        [in] IHTMLDOMAttribute* ppNode, 
                        [out, retval] IHTMLDOMAttribute** newretNode);
        [id(0x000005df)]
        HRESULT removeNamedItem(
                        [in] BSTR bstrName, 
                        [out, retval] IHTMLDOMAttribute** newretNode);
    };

    [
      odl,
      uuid(3050F5AB-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDOMChildrenCollection : IDispatch {
        [id(0x000005dc), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] IDispatch** ppItem);
    };

    [
      uuid(3050F56C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLAttributeCollection {
        properties:
        methods:
            [id(0x000005dc), propget]
            long length();
            [id(0xfffffffc), propget, restricted, hidden]
            IUnknown* _newEnum();
            [id(00000000)]
            IDispatch* item([in, optional] VARIANT* name);
            [id(0x000005dd)]
            IHTMLDOMAttribute* getNamedItem([in] BSTR bstrName);
            [id(0x000005de)]
            IHTMLDOMAttribute* setNamedItem([in] IHTMLDOMAttribute* ppNode);
            [id(0x000005df)]
            IHTMLDOMAttribute* removeNamedItem([in] BSTR bstrName);
    };

    [
      uuid(3050F4CC-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLAttributeCollection {
        [default] dispinterface DispHTMLAttributeCollection;
        interface IHTMLAttributeCollection;
        interface IHTMLAttributeCollection2;
    };

    [
      uuid(3050F577-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispDOMChildrenCollection {
        properties:
        methods:
            [id(0x000005dc), propget]
            long length();
            [id(0xfffffffc), propget, restricted, hidden]
            IUnknown* _newEnum();
            [id(00000000)]
            IDispatch* item([in] long index);
    };

    [
      uuid(3050F5AA-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass DOMChildrenCollection {
        [default] dispinterface DispDOMChildrenCollection;
        interface IHTMLDOMChildrenCollection;
    };

    [
      uuid(3050F60F-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F33C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
    };

    typedef enum {
        htmlListTypeNotSet = 0,
        htmlListTypeLargeAlpha = 1,
        htmlListTypeSmallAlpha = 2,
        htmlListTypeLargeRoman = 3,
        htmlListTypeSmallRoman = 4,
        htmlListTypeNumbers = 5,
        htmlListTypeDisc = 6,
        htmlListTypeCircle = 7,
        htmlListTypeSquare = 8,
        htmlListType_Max = 0x7fffffff
    } _htmlListType;

    typedef enum {
        htmlMethodNotSet = 0,
        htmlMethodGet = 1,
        htmlMethodPost = 2,
        htmlMethod_Max = 0x7fffffff
    } _htmlMethod;

    typedef enum {
        htmlWrapOff = 1,
        htmlWrapSoft = 2,
        htmlWrapHard = 3,
        htmlWrap_Max = 0x7fffffff
    } _htmlWrap;

    typedef enum {
        htmlDirNotSet = 0,
        htmlDirLeftToRight = 1,
        htmlDirRightToLeft = 2,
        htmlDir_Max = 0x7fffffff
    } _htmlDir;

    typedef enum {
        htmlEditableInherit = 0,
        htmlEditableTrue = 1,
        htmlEditableFalse = 2,
        htmlEditable_Max = 0x7fffffff
    } _htmlEditable;

    typedef enum {
        htmlInputNotSet = 0,
        htmlInputButton = 1,
        htmlInputCheckbox = 2,
        htmlInputFile = 3,
        htmlInputHidden = 4,
        htmlInputImage = 5,
        htmlInputPassword = 6,
        htmlInputRadio = 7,
        htmlInputReset = 8,
        htmlInputSelectOne = 9,
        htmlInputSelectMultiple = 10,
        htmlInputSubmit = 11,
        htmlInputText = 12,
        htmlInputTextarea = 13,
        htmlInputRichtext = 14,
        htmlInput_Max = 0x7fffffff
    } _htmlInput;

    typedef enum {
        htmlEncodingURL = 0,
        htmlEncodingMultipart = 1,
        htmlEncodingText = 2,
        htmlEncoding_Max = 0x7fffffff
    } _htmlEncoding;

    typedef enum {
        htmlAdjacencyBeforeBegin = 1,
        htmlAdjacencyAfterBegin = 2,
        htmlAdjacencyBeforeEnd = 3,
        htmlAdjacencyAfterEnd = 4,
        htmlAdjacency_Max = 0x7fffffff
    } _htmlAdjacency;

    typedef enum {
        htmlTabIndexNotSet = 0xffff8000,
        htmlTabIndex_Max = 0x7fffffff
    } _htmlTabIndex;

    typedef enum {
        htmlComponentClient = 0,
        htmlComponentSbLeft = 1,
        htmlComponentSbPageLeft = 2,
        htmlComponentSbHThumb = 3,
        htmlComponentSbPageRight = 4,
        htmlComponentSbRight = 5,
        htmlComponentSbUp = 6,
        htmlComponentSbPageUp = 7,
        htmlComponentSbVThumb = 8,
        htmlComponentSbPageDown = 9,
        htmlComponentSbDown = 10,
        htmlComponentSbLeft2 = 11,
        htmlComponentSbPageLeft2 = 12,
        htmlComponentSbRight2 = 13,
        htmlComponentSbPageRight2 = 14,
        htmlComponentSbUp2 = 15,
        htmlComponentSbPageUp2 = 16,
        htmlComponentSbDown2 = 17,
        htmlComponentSbPageDown2 = 18,
        htmlComponentSbTop = 19,
        htmlComponentSbBottom = 20,
        htmlComponentOutside = 21,
        htmlComponentGHTopLeft = 22,
        htmlComponentGHLeft = 23,
        htmlComponentGHTop = 24,
        htmlComponentGHBottomLeft = 25,
        htmlComponentGHTopRight = 26,
        htmlComponentGHBottom = 27,
        htmlComponentGHRight = 28,
        htmlComponentGHBottomRight = 29,
        htmlComponent_Max = 0x7fffffff
    } _htmlComponent;

    typedef enum {
        htmlApplyLocationInside = 0,
        htmlApplyLocationOutside = 1,
        htmlApplyLocation_Max = 0x7fffffff
    } _htmlApplyLocation;

    typedef enum {
        htmlGlyphModeNone = 0,
        htmlGlyphModeBegin = 1,
        htmlGlyphModeEnd = 2,
        htmlGlyphModeBoth = 3,
        htmlGlyphMode_Max = 0x7fffffff
    } _htmlGlyphMode;

    [
      odl,
      uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLElementCollection : IDispatch {
        [id(0x000005dd)]
        HRESULT toString([out, retval] BSTR* String);
        [id(0x000005dc), propput]
        HRESULT length([in] long p);
        [id(0x000005dc), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in, optional] VARIANT name, 
                        [in, optional] VARIANT index, 
                        [out, retval] IDispatch** pdisp);
        [id(0x000005de)]
        HRESULT tags(
                        [in] VARIANT tagName, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F434-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLElement2 : IDispatch {
        [id(0x8001040f), propget]
        HRESULT scopeName([out, retval] BSTR* p);
        [id(0x80010410)]
        HRESULT setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
        [id(0x80010411)]
        HRESULT releaseCapture();
        [id(0x8001179e), propput, bindable, displaybind]
        HRESULT onlosecapture([in] VARIANT p);
        [id(0x8001179e), propget, bindable, displaybind]
        HRESULT onlosecapture([out, retval] VARIANT* p);
        [id(0x80010412)]
        HRESULT componentFromPoint(
                        [in] long x, 
                        [in] long y, 
                        [out, retval] BSTR* component);
        [id(0x80010413)]
        HRESULT doScroll([in, optional] VARIANT component);
        [id(0x8001178f), propput, bindable, displaybind]
        HRESULT onscroll([in] VARIANT p);
        [id(0x8001178f), propget, bindable, displaybind]
        HRESULT onscroll([out, retval] VARIANT* p);
        [id(0x800117a1), propput, bindable, displaybind]
        HRESULT ondrag([in] VARIANT p);
        [id(0x800117a1), propget, bindable, displaybind]
        HRESULT ondrag([out, retval] VARIANT* p);
        [id(0x800117a2), propput, bindable, displaybind]
        HRESULT ondragend([in] VARIANT p);
        [id(0x800117a2), propget, bindable, displaybind]
        HRESULT ondragend([out, retval] VARIANT* p);
        [id(0x800117a3), propput, bindable, displaybind]
        HRESULT ondragenter([in] VARIANT p);
        [id(0x800117a3), propget, bindable, displaybind]
        HRESULT ondragenter([out, retval] VARIANT* p);
        [id(0x800117a4), propput, bindable, displaybind]
        HRESULT ondragover([in] VARIANT p);
        [id(0x800117a4), propget, bindable, displaybind]
        HRESULT ondragover([out, retval] VARIANT* p);
        [id(0x800117a5), propput, bindable, displaybind]
        HRESULT ondragleave([in] VARIANT p);
        [id(0x800117a5), propget, bindable, displaybind]
        HRESULT ondragleave([out, retval] VARIANT* p);
        [id(0x800117a6), propput, bindable, displaybind]
        HRESULT ondrop([in] VARIANT p);
        [id(0x800117a6), propget, bindable, displaybind]
        HRESULT ondrop([out, retval] VARIANT* p);
        [id(0x800117aa), propput, bindable, displaybind]
        HRESULT onbeforecut([in] VARIANT p);
        [id(0x800117aa), propget, bindable, displaybind]
        HRESULT onbeforecut([out, retval] VARIANT* p);
        [id(0x800117a7), propput, bindable, displaybind]
        HRESULT oncut([in] VARIANT p);
        [id(0x800117a7), propget, bindable, displaybind]
        HRESULT oncut([out, retval] VARIANT* p);
        [id(0x800117ab), propput, bindable, displaybind]
        HRESULT onbeforecopy([in] VARIANT p);
        [id(0x800117ab), propget, bindable, displaybind]
        HRESULT onbeforecopy([out, retval] VARIANT* p);
        [id(0x800117a8), propput, bindable, displaybind]
        HRESULT oncopy([in] VARIANT p);
        [id(0x800117a8), propget, bindable, displaybind]
        HRESULT oncopy([out, retval] VARIANT* p);
        [id(0x800117ac), propput, bindable, displaybind]
        HRESULT onbeforepaste([in] VARIANT p);
        [id(0x800117ac), propget, bindable, displaybind]
        HRESULT onbeforepaste([out, retval] VARIANT* p);
        [id(0x800117a9), propput, bindable, displaybind]
        HRESULT onpaste([in] VARIANT p);
        [id(0x800117a9), propget, bindable, displaybind]
        HRESULT onpaste([out, retval] VARIANT* p);
        [id(0x800103ef), propget]
        HRESULT currentStyle([out, retval] IHTMLCurrentStyle** p);
        [id(0x8001179f), propput, bindable, displaybind]
        HRESULT onpropertychange([in] VARIANT p);
        [id(0x8001179f), propget, bindable, displaybind]
        HRESULT onpropertychange([out, retval] VARIANT* p);
        [id(0x80010414)]
        HRESULT getClientRects([out, retval] IHTMLRectCollection** pRectCol);
        [id(0x80010415)]
        HRESULT getBoundingClientRect([out, retval] IHTMLRect** pRect);
        [id(0x800101f8)]
        HRESULT setExpression(
                        [in] BSTR propname, 
                        [in] BSTR expression, 
                        [in, optional, defaultvalue("")] BSTR language);
        [id(0x800101f9)]
        HRESULT getExpression(
                        [in] BSTR propname, 
                        [out, retval] VARIANT* expression);
        [id(0x800101fa)]
        HRESULT removeExpression(
                        [in] BSTR propname, 
                        [out, retval] VARIANT_BOOL* pfSuccess);
        [id(0x8001000f), propput, bindable, displaybind]
        HRESULT tabIndex([in] short p);
        [id(0x8001000f), propget, bindable, displaybind]
        HRESULT tabIndex([out, retval] short* p);
        [id(0x800107d0)]
        HRESULT focus();
        [id(0x800107d5), propput, bindable, displaybind]
        HRESULT accessKey([in] BSTR p);
        [id(0x800107d5), propget, bindable, displaybind]
        HRESULT accessKey([out, retval] BSTR* p);
        [id(0x8001177f), propput, bindable, displaybind]
        HRESULT onblur([in] VARIANT p);
        [id(0x8001177f), propget, bindable, displaybind]
        HRESULT onblur([out, retval] VARIANT* p);
        [id(0x8001177e), propput, bindable, displaybind]
        HRESULT onfocus([in] VARIANT p);
        [id(0x8001177e), propget, bindable, displaybind]
        HRESULT onfocus([out, retval] VARIANT* p);
        [id(0x80011794), propput, bindable, displaybind]
        HRESULT onresize([in] VARIANT p);
        [id(0x80011794), propget, bindable, displaybind]
        HRESULT onresize([out, retval] VARIANT* p);
        [id(0x800107d2)]
        HRESULT blur();
        [id(0x800107e1)]
        HRESULT addFilter([in] IUnknown* pUnk);
        [id(0x800107e2)]
        HRESULT removeFilter([in] IUnknown* pUnk);
        [id(0x800107e3), propget, bindable, displaybind]
        HRESULT clientHeight([out, retval] long* p);
        [id(0x800107e4), propget, bindable, displaybind]
        HRESULT clientWidth([out, retval] long* p);
        [id(0x800107e5), propget, bindable, displaybind]
        HRESULT clientTop([out, retval] long* p);
        [id(0x800107e6), propget, bindable, displaybind]
        HRESULT clientLeft([out, retval] long* p);
        [id(0x800101fb)]
        HRESULT attachEvent(
                        [in] BSTR event, 
                        [in] IDispatch* pdisp, 
                        [out, retval] VARIANT_BOOL* pfResult);
        [id(0x800101fc)]
        HRESULT detachEvent(
                        [in] BSTR event, 
                        [in] IDispatch* pdisp);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] VARIANT* p);
        [id(0x80011789), propput, bindable, displaybind]
        HRESULT onreadystatechange([in] VARIANT p);
        [id(0x80011789), propget, bindable, displaybind]
        HRESULT onreadystatechange([out, retval] VARIANT* p);
        [id(0x800117ae), propput, bindable, displaybind]
        HRESULT onrowsdelete([in] VARIANT p);
        [id(0x800117ae), propget, bindable, displaybind]
        HRESULT onrowsdelete([out, retval] VARIANT* p);
        [id(0x800117af), propput, bindable, displaybind]
        HRESULT onrowsinserted([in] VARIANT p);
        [id(0x800117af), propget, bindable, displaybind]
        HRESULT onrowsinserted([out, retval] VARIANT* p);
        [id(0x800117b0), propput, bindable, displaybind]
        HRESULT oncellchange([in] VARIANT p);
        [id(0x800117b0), propget, bindable, displaybind]
        HRESULT oncellchange([out, retval] VARIANT* p);
        [id(0x800113fd), propput, bindable, displaybind]
        HRESULT dir([in] BSTR p);
        [id(0x800113fd), propget, bindable, displaybind]
        HRESULT dir([out, retval] BSTR* p);
        [id(0x80010420)]
        HRESULT createControlRange([out, retval] IDispatch** range);
        [id(0x80010421), propget, bindable, displaybind]
        HRESULT scrollHeight([out, retval] long* p);
        [id(0x80010422), propget, bindable, displaybind]
        HRESULT scrollWidth([out, retval] long* p);
        [id(0x80010423), propput, bindable, displaybind]
        HRESULT scrollTop([in] long p);
        [id(0x80010423), propget, bindable, displaybind]
        HRESULT scrollTop([out, retval] long* p);
        [id(0x80010424), propput, bindable, displaybind]
        HRESULT scrollLeft([in] long p);
        [id(0x80010424), propget, bindable, displaybind]
        HRESULT scrollLeft([out, retval] long* p);
        [id(0x80010426)]
        HRESULT clearAttributes();
        [id(0x80010427)]
        HRESULT mergeAttributes([in] IHTMLElement* mergeThis);
        [id(0x800117b1), propput, bindable, displaybind]
        HRESULT oncontextmenu([in] VARIANT p);
        [id(0x800117b1), propget, bindable, displaybind]
        HRESULT oncontextmenu([out, retval] VARIANT* p);
        [id(0x8001042d)]
        HRESULT insertAdjacentElement(
                        [in] BSTR where, 
                        [in] IHTMLElement* insertedElement, 
                        [out, retval] IHTMLElement** inserted);
        [id(0x80010429)]
        HRESULT applyElement(
                        [in] IHTMLElement* apply, 
                        [in] BSTR where, 
                        [out, retval] IHTMLElement** applied);
        [id(0x8001042e)]
        HRESULT getAdjacentText(
                        [in] BSTR where, 
                        [out, retval] BSTR* text);
        [id(0x8001042f)]
        HRESULT replaceAdjacentText(
                        [in] BSTR where, 
                        [in] BSTR newText, 
                        [out, retval] BSTR* oldText);
        [id(0x80010430), propget]
        HRESULT canHaveChildren([out, retval] VARIANT_BOOL* p);
        [id(0x80010438)]
        HRESULT addBehavior(
                        [in] BSTR bstrUrl, 
                        [in, optional] VARIANT* pvarFactory, 
                        [out, retval] long* pCookie);
        [id(0x80010439)]
        HRESULT removeBehavior(
                        [in] long cookie, 
                        [out, retval] VARIANT_BOOL* pfResult);
        [id(0x80010428), propget]
        HRESULT runtimeStyle([out, retval] IHTMLStyle** p);
        [id(0x8001043a), propget]
        HRESULT behaviorUrns([out, retval] IDispatch** p);
        [id(0x8001043b), propput]
        HRESULT tagUrn([in] BSTR p);
        [id(0x8001043b), propget]
        HRESULT tagUrn([out, retval] BSTR* p);
        [id(0x800117b5), propput, bindable, displaybind]
        HRESULT onbeforeeditfocus([in] VARIANT p);
        [id(0x800117b5), propget, bindable, displaybind]
        HRESULT onbeforeeditfocus([out, retval] VARIANT* p);
        [id(0x8001043c), propget, restricted, hidden]
        HRESULT readyStateValue([out, retval] long* p);
        [id(0x8001043d)]
        HRESULT getElementsByTagName(
                        [in] BSTR v, 
                        [out, retval] IHTMLElementCollection** pelColl);
    };

    [
      odl,
      uuid(3050F673-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLElement3 : IDispatch {
        [id(0x80010448)]
        HRESULT mergeAttributes(
                        [in] IHTMLElement* mergeThis, 
                        [in, optional] VARIANT* pvarFlags);
        [id(0x80010449), propget]
        HRESULT isMultiLine([out, retval] VARIANT_BOOL* p);
        [id(0x8001044a), propget]
        HRESULT canHaveHTML([out, retval] VARIANT_BOOL* p);
        [id(0x800117b9), propput, bindable, displaybind]
        HRESULT onlayoutcomplete([in] VARIANT p);
        [id(0x800117b9), propget, bindable, displaybind]
        HRESULT onlayoutcomplete([out, retval] VARIANT* p);
        [id(0x800117ba), propput, bindable, displaybind]
        HRESULT onpage([in] VARIANT p);
        [id(0x800117ba), propget, bindable, displaybind]
        HRESULT onpage([out, retval] VARIANT* p);
        [id(0x8001044c), propput, restricted, hidden]
        HRESULT inflateBlock([in] VARIANT_BOOL p);
        [id(0x8001044c), propget, restricted, hidden]
        HRESULT inflateBlock([out, retval] VARIANT_BOOL* p);
        [id(0x800117bd), propput, bindable, displaybind]
        HRESULT onbeforedeactivate([in] VARIANT p);
        [id(0x800117bd), propget, bindable, displaybind]
        HRESULT onbeforedeactivate([out, retval] VARIANT* p);
        [id(0x8001044d)]
        HRESULT setActive();
        [id(0x8001142a), propput, bindable, displaybind]
        HRESULT contentEditable([in] BSTR p);
        [id(0x8001142a), propget, bindable, displaybind]
        HRESULT contentEditable([out, retval] BSTR* p);
        [id(0x8001044e), propget]
        HRESULT isContentEditable([out, retval] VARIANT_BOOL* p);
        [id(0x8001142b), propput, bindable, displaybind]
        HRESULT hideFocus([in] VARIANT_BOOL p);
        [id(0x8001142b), propget, bindable, displaybind]
        HRESULT hideFocus([out, retval] VARIANT_BOOL* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x80010451), propget]
        HRESULT isDisabled([out, retval] VARIANT_BOOL* p);
        [id(0x800117be), propput, bindable, displaybind]
        HRESULT onmove([in] VARIANT p);
        [id(0x800117be), propget, bindable, displaybind]
        HRESULT onmove([out, retval] VARIANT* p);
        [id(0x800117bf), propput, bindable, displaybind]
        HRESULT oncontrolselect([in] VARIANT p);
        [id(0x800117bf), propget, bindable, displaybind]
        HRESULT oncontrolselect([out, retval] VARIANT* p);
        [id(0x80010452)]
        HRESULT FireEvent(
                        [in] BSTR bstrEventName, 
                        [in, optional] VARIANT* pvarEventObject, 
                        [out, retval] VARIANT_BOOL* pfCancelled);
        [id(0x800117c3), propput, bindable, displaybind]
        HRESULT onresizestart([in] VARIANT p);
        [id(0x800117c3), propget, bindable, displaybind]
        HRESULT onresizestart([out, retval] VARIANT* p);
        [id(0x800117c4), propput, bindable, displaybind]
        HRESULT onresizeend([in] VARIANT p);
        [id(0x800117c4), propget, bindable, displaybind]
        HRESULT onresizeend([out, retval] VARIANT* p);
        [id(0x800117c1), propput, bindable, displaybind]
        HRESULT onmovestart([in] VARIANT p);
        [id(0x800117c1), propget, bindable, displaybind]
        HRESULT onmovestart([out, retval] VARIANT* p);
        [id(0x800117c2), propput, bindable, displaybind]
        HRESULT onmoveend([in] VARIANT p);
        [id(0x800117c2), propget, bindable, displaybind]
        HRESULT onmoveend([out, retval] VARIANT* p);
        [id(0x800117c5), propput, bindable, displaybind]
        HRESULT onmouseenter([in] VARIANT p);
        [id(0x800117c5), propget, bindable, displaybind]
        HRESULT onmouseenter([out, retval] VARIANT* p);
        [id(0x800117c6), propput, bindable, displaybind]
        HRESULT onmouseleave([in] VARIANT p);
        [id(0x800117c6), propget, bindable, displaybind]
        HRESULT onmouseleave([out, retval] VARIANT* p);
        [id(0x800117c7), propput, bindable, displaybind]
        HRESULT onactivate([in] VARIANT p);
        [id(0x800117c7), propget, bindable, displaybind]
        HRESULT onactivate([out, retval] VARIANT* p);
        [id(0x800117c8), propput, bindable, displaybind]
        HRESULT ondeactivate([in] VARIANT p);
        [id(0x800117c8), propget, bindable, displaybind]
        HRESULT ondeactivate([out, retval] VARIANT* p);
        [id(0x80010453)]
        HRESULT dragDrop([out, retval] VARIANT_BOOL* pfRet);
        [id(0x80010454), propget, restricted, hidden]
        HRESULT glyphMode([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F80F-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLElement4 : IDispatch {
        [id(0x800117bc), propput, bindable, displaybind]
        HRESULT onmousewheel([in] VARIANT p);
        [id(0x800117bc), propget, bindable, displaybind]
        HRESULT onmousewheel([out, retval] VARIANT* p);
        [id(0x80010458)]
        HRESULT normalize();
        [id(0x80010455)]
        HRESULT getAttributeNode(
                        [in] BSTR bstrName, 
                        [out, retval] IHTMLDOMAttribute** ppAttribute);
        [id(0x80010456)]
        HRESULT setAttributeNode(
                        [in] IHTMLDOMAttribute* pattr, 
                        [out, retval] IHTMLDOMAttribute** ppretAttribute);
        [id(0x80010457)]
        HRESULT removeAttributeNode(
                        [in] IHTMLDOMAttribute* pattr, 
                        [out, retval] IHTMLDOMAttribute** ppretAttribute);
        [id(0x800117ca), propput, bindable, displaybind]
        HRESULT onbeforeactivate([in] VARIANT p);
        [id(0x800117ca), propget, bindable, displaybind]
        HRESULT onbeforeactivate([out, retval] VARIANT* p);
        [id(0x800117cb), propput, bindable, displaybind]
        HRESULT onfocusin([in] VARIANT p);
        [id(0x800117cb), propget, bindable, displaybind]
        HRESULT onfocusin([out, retval] VARIANT* p);
        [id(0x800117cc), propput, bindable, displaybind]
        HRESULT onfocusout([in] VARIANT p);
        [id(0x800117cc), propget, bindable, displaybind]
        HRESULT onfocusout([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F669-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLElementRender : IUnknown {
        HRESULT _stdcall DrawToDC([in] wireHDC hdc);
        HRESULT _stdcall SetDocumentPrinter(
                        [in] BSTR bstrPrinterName, 
                        [in] wireHDC hdc);
    };

    [
      odl,
      uuid(3050F4D0-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLUniqueName : IDispatch {
        [id(0x8001041e), propget, hidden]
        HRESULT uniqueNumber([out, retval] long* p);
        [id(0x8001041f), propget, hidden]
        HRESULT uniqueID([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F3F2-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDatabinding : IDispatch {
        [id(0x800103fd), propput]
        HRESULT dataFld([in] BSTR p);
        [id(0x800103fd), propget]
        HRESULT dataFld([out, retval] BSTR* p);
        [id(0x800103fe), propput]
        HRESULT dataSrc([in] BSTR p);
        [id(0x800103fe), propget]
        HRESULT dataSrc([out, retval] BSTR* p);
        [id(0x800103ff), propput]
        HRESULT dataFormatAs([in] BSTR p);
        [id(0x800103ff), propget]
        HRESULT dataFormatAs([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(626FC520-A41E-11CF-A731-00A0C9082637),
      dual,
      oleautomation
    ]
    interface IHTMLDocument : IDispatch {
        [id(0x000003e9), propget, hidden]
        HRESULT Script([out, retval] IDispatch** p);
    };

    [
      odl,
      uuid(3050F6C9-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLElementDefaults : IDispatch {
        [id(0x000003e9), propget]
        HRESULT style([out, retval] IHTMLStyle** p);
        [id(0x000003ea), propput]
        HRESULT tabStop([in] VARIANT_BOOL p);
        [id(0x000003ea), propget]
        HRESULT tabStop([out, retval] VARIANT_BOOL* p);
        [id(0x8001144f), propput]
        HRESULT viewInheritStyle([in] VARIANT_BOOL p);
        [id(0x8001144f), propget]
        HRESULT viewInheritStyle([out, retval] VARIANT_BOOL* p);
        [id(0x000003ee), propput]
        HRESULT viewMasterTab([in] VARIANT_BOOL p);
        [id(0x000003ee), propget]
        HRESULT viewMasterTab([out, retval] VARIANT_BOOL* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT scrollSegmentX([in] long p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT scrollSegmentX([out, retval] long* p);
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT scrollSegmentY([in] long p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT scrollSegmentY([out, retval] long* p);
        [id(0x000003f0), propput]
        HRESULT isMultiLine([in] VARIANT_BOOL p);
        [id(0x000003f0), propget]
        HRESULT isMultiLine([out, retval] VARIANT_BOOL* p);
        [id(0x8001142a), propput]
        HRESULT contentEditable([in] BSTR p);
        [id(0x8001142a), propget]
        HRESULT contentEditable([out, retval] BSTR* p);
        [id(0x000003f1), propput]
        HRESULT canHaveHTML([in] VARIANT_BOOL p);
        [id(0x000003f1), propget]
        HRESULT canHaveHTML([out, retval] VARIANT_BOOL* p);
        [id(0x000003f3), propputref]
        HRESULT viewLink([in] IHTMLDocument* p);
        [id(0x000003f3), propget]
        HRESULT viewLink([out, retval] IHTMLDocument** p);
        [id(0x8001144e), propput]
        HRESULT frozen([in] VARIANT_BOOL p);
        [id(0x8001144e), propget]
        HRESULT frozen([out, retval] VARIANT_BOOL* p);
    };

    [
      uuid(3050F58C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDefaults {
        properties:
        methods:
            [id(0x000003e9), propget]
            IHTMLStyle* style();
            [id(0x000003ea), propput]
            void tabStop(VARIANT_BOOL rhs);
            [id(0x000003ea), propget]
            VARIANT_BOOL tabStop();
            [id(0x8001144f), propput]
            void viewInheritStyle(VARIANT_BOOL rhs);
            [id(0x8001144f), propget]
            VARIANT_BOOL viewInheritStyle();
            [id(0x000003ee), propput]
            void viewMasterTab(VARIANT_BOOL rhs);
            [id(0x000003ee), propget]
            VARIANT_BOOL viewMasterTab();
            [id(0x000003eb), propput, bindable, displaybind]
            void scrollSegmentX(long rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            long scrollSegmentX();
            [id(0x000003ec), propput, bindable, displaybind]
            void scrollSegmentY(long rhs);
            [id(0x000003ec), propget, bindable, displaybind]
            long scrollSegmentY();
            [id(0x000003f0), propput]
            void isMultiLine(VARIANT_BOOL rhs);
            [id(0x000003f0), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001142a), propput]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget]
            BSTR contentEditable();
            [id(0x000003f1), propput]
            void canHaveHTML(VARIANT_BOOL rhs);
            [id(0x000003f1), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x000003f3), propputref]
            void viewLink(IHTMLDocument* rhs);
            [id(0x000003f3), propget]
            IHTMLDocument* viewLink();
            [id(0x8001144e), propput]
            void frozen(VARIANT_BOOL rhs);
            [id(0x8001144e), propget]
            VARIANT_BOOL frozen();
    };

    [
      uuid(3050F6C8-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDefaults {
        [default] dispinterface DispHTMLDefaults;
        interface IHTMLElementDefaults;
    };

    [
      odl,
      uuid(3050F4FD-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTCDefaultDispatch : IDispatch {
        [id(0x80011417), propget]
        HRESULT element([out, retval] IHTMLElement** p);
        [id(0x80011418)]
        HRESULT CreateEventObject([out, retval] IHTMLEventObj** eventObj);
        [id(0x8001142d), propget]
        HRESULT defaults([out, retval] IDispatch** p);
        [id(0x80011416), propget]
        HRESULT document([out, retval] IDispatch** p);
    };

    [
      odl,
      uuid(3050F5DF-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTCPropertyBehavior : IDispatch {
        [id(0x800101f4)]
        HRESULT fireChange();
        [id(0x80011415), propput]
        HRESULT value([in] VARIANT p);
        [id(0x80011415), propget]
        HRESULT value([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F631-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTCMethodBehavior : IDispatch {
    };

    [
      odl,
      uuid(3050F4FF-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTCEventBehavior : IDispatch {
        [id(0x800101f4)]
        HRESULT fire([in] IHTMLEventObj* pVar);
    };

    [
      odl,
      uuid(3050F5F4-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTCAttachBehavior : IDispatch {
        [id(00000000)]
        HRESULT FireEvent([in] IDispatch* evt);
        [id(0x800101f4)]
        HRESULT detachEvent();
    };

    [
      odl,
      uuid(3050F7EB-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTCAttachBehavior2 : IDispatch {
        [id(00000000)]
        HRESULT FireEvent([in] VARIANT evt);
    };

    [
      odl,
      uuid(3050F5DC-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTCDescBehavior : IDispatch {
        [id(0x800101f4), propget, bindable]
        HRESULT urn([out, retval] BSTR* p);
        [id(0x800101f5), propget, bindable]
        HRESULT name([out, retval] BSTR* p);
    };

    [
      uuid(3050F573-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTCDefaultDispatch {
        properties:
        methods:
            [id(0x80011417), propget]
            IHTMLElement* element();
            [id(0x80011418)]
            IHTMLEventObj* CreateEventObject();
            [id(0x8001142d), propget]
            IDispatch* defaults();
            [id(0x80011416), propget]
            IDispatch* document();
    };

    [
      uuid(3050F4FC-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTCDefaultDispatch {
        [default] dispinterface DispHTCDefaultDispatch;
        interface IHTCDefaultDispatch;
    };

    [
      uuid(3050F57F-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTCPropertyBehavior {
        properties:
        methods:
            [id(0x800101f4)]
            void fireChange();
            [id(0x80011415), propput]
            void value(VARIANT rhs);
            [id(0x80011415), propget]
            VARIANT value();
    };

    [
      uuid(3050F5DE-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTCPropertyBehavior {
        [default] dispinterface DispHTCPropertyBehavior;
        interface IHTCPropertyBehavior;
    };

    [
      uuid(3050F587-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTCMethodBehavior {
        properties:
        methods:
    };

    [
      uuid(3050F630-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTCMethodBehavior {
        [default] dispinterface DispHTCMethodBehavior;
        interface IHTCMethodBehavior;
    };

    [
      uuid(3050F574-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTCEventBehavior {
        properties:
        methods:
            [id(0x800101f4)]
            void fire([in] IHTMLEventObj* pVar);
    };

    [
      uuid(3050F4FE-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTCEventBehavior {
        [default] dispinterface DispHTCEventBehavior;
        interface IHTCEventBehavior;
    };

    [
      uuid(3050F583-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTCAttachBehavior {
        properties:
        methods:
            [id(00000000)]
            void FireEvent([in] VARIANT evt);
            [id(0x800101f4)]
            void detachEvent();
    };

    [
      uuid(3050F5F5-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTCAttachBehavior {
        [default] dispinterface DispHTCAttachBehavior;
        interface IHTCAttachBehavior2;
        interface IHTCAttachBehavior;
    };

    [
      uuid(3050F57E-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTCDescBehavior {
        properties:
        methods:
            [id(0x800101f4), propget, bindable]
            BSTR urn();
            [id(0x800101f5), propget, bindable]
            BSTR name();
    };

    [
      uuid(3050F5DD-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTCDescBehavior {
        [default] dispinterface DispHTCDescBehavior;
        interface IHTCDescBehavior;
    };

    [
      odl,
      uuid(3050F5E2-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLUrnCollection : IDispatch {
        [id(0x000003e9), propget]
        HRESULT length([out, retval] long* p);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] BSTR* ppUrn);
    };

    [
      uuid(3050F580-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLUrnCollection {
        [default] interface IHTMLUrnCollection;
    };

    [
      odl,
      uuid(3050F4B7-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLGenericElement : IDispatch {
        [id(0x000003e9), propget, hidden]
        HRESULT recordset([out, retval] IDispatch** p);
        [id(0x000003ea)]
        HRESULT namedRecordset(
                        [in] BSTR dataMember, 
                        [in, optional] VARIANT* hierarchy, 
                        [out, retval] IDispatch** ppRecordset);
    };

    [
      uuid(3050F563-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLGenericElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propget, hidden]
            IDispatch* recordset();
            [id(0x000003ea)]
            IDispatch* namedRecordset(
                            [in] BSTR dataMember, 
                            [in, optional] VARIANT* hierarchy);
    };

    [
      uuid(3050F4B8-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLGenericElement {
        [default] dispinterface DispHTMLGenericElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLGenericElement;
    };

    [
      odl,
      uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleSheetRule : IDispatch {
        [id(0x000003e9), propput]
        HRESULT selectorText([in] BSTR p);
        [id(0x000003e9), propget]
        HRESULT selectorText([out, retval] BSTR* p);
        [id(0x8001004a), propget]
        HRESULT style([out, retval] IHTMLRuleStyle** p);
        [id(0x000003ea), propget]
        HRESULT readOnly([out, retval] VARIANT_BOOL* p);
    };

    [
      odl,
      uuid(3050F2E5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleSheetRulesCollection : IDispatch {
        [id(0x000003e9), propget]
        HRESULT length([out, retval] long* p);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] IHTMLStyleSheetRule** ppHTMLStyleSheetRule);
    };

    [
      uuid(3050F3CE-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyleSheetRule {
        [default] interface IHTMLStyleSheetRule;
    };

    [
      uuid(3050F3CD-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyleSheetRulesCollection {
        [default] interface IHTMLStyleSheetRulesCollection;
    };

    [
      odl,
      uuid(3050F7EE-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleSheetPage : IDispatch {
        [id(0x000003e9), propget]
        HRESULT selector([out, retval] BSTR* p);
        [id(0x000003ea), propget]
        HRESULT pseudoClass([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F7F0-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleSheetPagesCollection : IDispatch {
        [id(0x000003e9), propget]
        HRESULT length([out, retval] long* p);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] IHTMLStyleSheetPage** ppHTMLStyleSheetPage);
    };

    [
      uuid(3050F7EF-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyleSheetPage {
        [default] interface IHTMLStyleSheetPage;
    };

    [
      uuid(3050F7F1-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyleSheetPagesCollection {
        [default] interface IHTMLStyleSheetPagesCollection;
    };

    [
      odl,
      uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleSheetsCollection : IDispatch {
        [id(0x000003e9), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in] VARIANT* pvarIndex, 
                        [out, retval] VARIANT* pvarResult);
    };

    [
      odl,
      uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleSheet : IDispatch {
        [id(0x000003e9), propput]
        HRESULT title([in] BSTR p);
        [id(0x000003e9), propget]
        HRESULT title([out, retval] BSTR* p);
        [id(0x000003ea), propget]
        HRESULT parentStyleSheet([out, retval] IHTMLStyleSheet** p);
        [id(0x000003eb), propget]
        HRESULT owningElement([out, retval] IHTMLElement** p);
        [id(0x8001004c), propput]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x000003ec), propget]
        HRESULT readOnly([out, retval] VARIANT_BOOL* p);
        [id(0x000003ed), propget]
        HRESULT imports([out, retval] IHTMLStyleSheetsCollection** p);
        [id(0x000003ee), propput]
        HRESULT href([in] BSTR p);
        [id(0x000003ee), propget]
        HRESULT href([out, retval] BSTR* p);
        [id(0x000003ef), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x000003f0), propget]
        HRESULT id([out, retval] BSTR* p);
        [id(0x000003f1)]
        HRESULT addImport(
                        [in] BSTR bstrUrl, 
                        [in, optional, defaultvalue(-1)] long lIndex, 
                        [out, retval] long* plIndex);
        [id(0x000003f2)]
        HRESULT addRule(
                        [in] BSTR bstrSelector, 
                        [in] BSTR bstrStyle, 
                        [in, optional, defaultvalue(-1)] long lIndex, 
                        [out, retval] long* plNewIndex);
        [id(0x000003f3)]
        HRESULT removeImport([in] long lIndex);
        [id(0x000003f4)]
        HRESULT removeRule([in] long lIndex);
        [id(0x000003f5), propput]
        HRESULT media([in] BSTR p);
        [id(0x000003f5), propget]
        HRESULT media([out, retval] BSTR* p);
        [id(0x000003f6), propput]
        HRESULT cssText([in] BSTR p);
        [id(0x000003f6), propget]
        HRESULT cssText([out, retval] BSTR* p);
        [id(0x000003f7), propget]
        HRESULT rules([out, retval] IHTMLStyleSheetRulesCollection** p);
    };

    [
      odl,
      uuid(3050F3D1-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleSheet2 : IDispatch {
        [id(0x000003f8), propget]
        HRESULT pages([out, retval] IHTMLStyleSheetPagesCollection** p);
        [id(0x000003f9)]
        HRESULT addPageRule(
                        [in] BSTR bstrSelector, 
                        [in] BSTR bstrStyle, 
                        [in, optional, defaultvalue(-1)] long lIndex, 
                        [out, retval] long* plNewIndex);
    };

    [
      uuid(3050F58D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLStyleSheet {
        properties:
        methods:
            [id(0x000003e9), propput]
            void title(BSTR rhs);
            [id(0x000003e9), propget]
            BSTR title();
            [id(0x000003ea), propget]
            IHTMLStyleSheet* parentStyleSheet();
            [id(0x000003eb), propget]
            IHTMLElement* owningElement();
            [id(0x8001004c), propput]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget]
            VARIANT_BOOL disabled();
            [id(0x000003ec), propget]
            VARIANT_BOOL readOnly();
            [id(0x000003ed), propget]
            IHTMLStyleSheetsCollection* imports();
            [id(0x000003ee), propput]
            void href(BSTR rhs);
            [id(0x000003ee), propget]
            BSTR href();
            [id(0x000003ef), propget]
            BSTR type();
            [id(0x000003f0), propget]
            BSTR id();
            [id(0x000003f1)]
            long addImport(
                            [in] BSTR bstrUrl, 
                            [in, optional, defaultvalue(-1)] long lIndex);
            [id(0x000003f2)]
            long addRule(
                            [in] BSTR bstrSelector, 
                            [in] BSTR bstrStyle, 
                            [in, optional, defaultvalue(-1)] long lIndex);
            [id(0x000003f3)]
            void removeImport([in] long lIndex);
            [id(0x000003f4)]
            void removeRule([in] long lIndex);
            [id(0x000003f5), propput]
            void media(BSTR rhs);
            [id(0x000003f5), propget]
            BSTR media();
            [id(0x000003f6), propput]
            void cssText(BSTR rhs);
            [id(0x000003f6), propget]
            BSTR cssText();
            [id(0x000003f7), propget]
            IHTMLStyleSheetRulesCollection* rules();
            [id(0x000003f8), propget]
            IHTMLStyleSheetPagesCollection* pages();
            [id(0x000003f9)]
            long addPageRule(
                            [in] BSTR bstrSelector, 
                            [in] BSTR bstrStyle, 
                            [in, optional, defaultvalue(-1)] long lIndex);
    };

    [
      uuid(3050F2E4-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyleSheet {
        [default] dispinterface DispHTMLStyleSheet;
        interface IHTMLStyleSheet;
        interface IHTMLStyleSheet2;
    };

    [
      uuid(3050F37F-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyleSheetsCollection {
        [default] interface IHTMLStyleSheetsCollection;
    };

    [
      uuid(3050F61D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLLinkElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F3CC-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLLinkElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003eb)]
            void onload();
            [id(0x000003ea)]
            void onerror();
    };

    [
      odl,
      uuid(3050F205-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLLinkElement : IDispatch {
        [id(0x000003ed), propput, bindable, displaybind]
        HRESULT href([in] BSTR p);
        [id(0x000003ed), propget, bindable, displaybind]
        HRESULT href([out, retval] BSTR* p);
        [id(0x000003ee), propput, bindable, displaybind]
        HRESULT rel([in] BSTR p);
        [id(0x000003ee), propget, bindable, displaybind]
        HRESULT rel([out, retval] BSTR* p);
        [id(0x000003ef), propput, bindable, displaybind]
        HRESULT rev([in] BSTR p);
        [id(0x000003ef), propget, bindable, displaybind]
        HRESULT rev([out, retval] BSTR* p);
        [id(0x000003f0), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x000003f0), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x80011789), propput, bindable, displaybind]
        HRESULT onreadystatechange([in] VARIANT p);
        [id(0x80011789), propget, bindable, displaybind]
        HRESULT onreadystatechange([out, retval] VARIANT* p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x8001178d), propput, bindable, displaybind]
        HRESULT onerror([in] VARIANT p);
        [id(0x8001178d), propget, bindable, displaybind]
        HRESULT onerror([out, retval] VARIANT* p);
        [id(0x000003f6), propget]
        HRESULT styleSheet([out, retval] IHTMLStyleSheet** p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x000003f8), propput, bindable, displaybind]
        HRESULT media([in] BSTR p);
        [id(0x000003f8), propget, bindable, displaybind]
        HRESULT media([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F4E5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLLinkElement2 : IDispatch {
        [id(0x000003f9), propput, bindable, displaybind]
        HRESULT target([in] BSTR p);
        [id(0x000003f9), propget, bindable, displaybind]
        HRESULT target([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F81E-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLLinkElement3 : IDispatch {
        [id(0x000003fa), propput, bindable, displaybind]
        HRESULT charset([in] BSTR p);
        [id(0x000003fa), propget, bindable, displaybind]
        HRESULT charset([out, retval] BSTR* p);
        [id(0x000003fb), propput, bindable, displaybind]
        HRESULT hreflang([in] BSTR p);
        [id(0x000003fb), propget, bindable, displaybind]
        HRESULT hreflang([out, retval] BSTR* p);
    };

    [
      uuid(3050F524-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLLinkElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003ed), propput, bindable, displaybind]
            void href(BSTR rhs);
            [id(0x000003ed), propget, bindable, displaybind]
            BSTR href();
            [id(0x000003ee), propput, bindable, displaybind]
            void rel(BSTR rhs);
            [id(0x000003ee), propget, bindable, displaybind]
            BSTR rel();
            [id(0x000003ef), propput, bindable, displaybind]
            void rev(BSTR rhs);
            [id(0x000003ef), propget, bindable, displaybind]
            BSTR rev();
            [id(0x000003f0), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x000003f0), propget, bindable, displaybind]
            BSTR type();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x000003f6), propget]
            IHTMLStyleSheet* styleSheet();
            [id(0x000003f8), propput, bindable, displaybind]
            void media(BSTR rhs);
            [id(0x000003f8), propget, bindable, displaybind]
            BSTR media();
            [id(0x000003f9), propput, bindable, displaybind]
            void target(BSTR rhs);
            [id(0x000003f9), propget, bindable, displaybind]
            BSTR target();
            [id(0x000003fa), propput, bindable, displaybind]
            void charset(BSTR rhs);
            [id(0x000003fa), propget, bindable, displaybind]
            BSTR charset();
            [id(0x000003fb), propput, bindable, displaybind]
            void hreflang(BSTR rhs);
            [id(0x000003fb), propget, bindable, displaybind]
            BSTR hreflang();
    };

    [
      uuid(3050F277-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLLinkElement {
        [default] dispinterface DispHTMLLinkElement;
        [default, source] dispinterface HTMLLinkElementEvents;
        [source] dispinterface HTMLLinkElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLLinkElement;
        interface IHTMLLinkElement2;
        interface IHTMLLinkElement3;
    };

    typedef enum {
        htmlUnitCharacter = 1,
        htmlUnitWord = 2,
        htmlUnitSentence = 3,
        htmlUnitTextEdit = 6,
        htmlUnit_Max = 0x7fffffff
    } _htmlUnit;

    typedef enum {
        htmlEndPointsStartToStart = 1,
        htmlEndPointsStartToEnd = 2,
        htmlEndPointsEndToStart = 3,
        htmlEndPointsEndToEnd = 4,
        htmlEndPoints_Max = 0x7fffffff
    } _htmlEndPoints;

    typedef enum {
        htmlDirectionForward = 0x0001869f,
        htmlDirectionBackward = 0xfffe7961,
        htmlDirection_Max = 0x7fffffff
    } _htmlDirection;

    [
      odl,
      uuid(3050F220-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTxtRange : IDispatch {
        [id(0x000003eb), propget]
        HRESULT htmlText([out, retval] BSTR* p);
        [id(0x000003ec), propput]
        HRESULT text([in] BSTR p);
        [id(0x000003ec), propget]
        HRESULT text([out, retval] BSTR* p);
        [id(0x000003ee)]
        HRESULT parentElement([out, retval] IHTMLElement** parent);
        [id(0x000003f0)]
        HRESULT duplicate([out, retval] IHTMLTxtRange** duplicate);
        [id(0x000003f2)]
        HRESULT inRange(
                        [in] IHTMLTxtRange* range, 
                        [out, retval] VARIANT_BOOL* inRange);
        [id(0x000003f3)]
        HRESULT isEqual(
                        [in] IHTMLTxtRange* range, 
                        [out, retval] VARIANT_BOOL* isEqual);
        [id(0x000003f4)]
        HRESULT scrollIntoView([in, optional, defaultvalue(-1)] VARIANT_BOOL fStart);
        [id(0x000003f5)]
        HRESULT collapse([in, optional, defaultvalue(-1)] VARIANT_BOOL Start);
        [id(0x000003f6)]
        HRESULT expand(
                        [in] BSTR Unit, 
                        [out, retval] VARIANT_BOOL* Success);
        [id(0x000003f7)]
        HRESULT move(
                        [in] BSTR Unit, 
                        [in, optional, defaultvalue(1)] long Count, 
                        [out, retval] long* ActualCount);
        [id(0x000003f8)]
        HRESULT moveStart(
                        [in] BSTR Unit, 
                        [in, optional, defaultvalue(1)] long Count, 
                        [out, retval] long* ActualCount);
        [id(0x000003f9)]
        HRESULT moveEnd(
                        [in] BSTR Unit, 
                        [in, optional, defaultvalue(1)] long Count, 
                        [out, retval] long* ActualCount);
        [id(0x00000400)]
        HRESULT select();
        [id(0x00000402)]
        HRESULT pasteHTML([in] BSTR html);
        [id(0x000003e9)]
        HRESULT moveToElementText([in] IHTMLElement* element);
        [id(0x00000401)]
        HRESULT setEndPoint(
                        [in] BSTR how, 
                        [in] IHTMLTxtRange* SourceRange);
        [id(0x000003fa)]
        HRESULT compareEndPoints(
                        [in] BSTR how, 
                        [in] IHTMLTxtRange* SourceRange, 
                        [out, retval] long* ret);
        [id(0x000003fb)]
        HRESULT findText(
                        [in] BSTR String, 
                        [in, optional, defaultvalue(1073741823)] long Count, 
                        [in, optional, defaultvalue(0)] long Flags, 
                        [out, retval] VARIANT_BOOL* Success);
        [id(0x000003fc)]
        HRESULT moveToPoint(
                        [in] long x, 
                        [in] long y);
        [id(0x000003fd)]
        HRESULT getBookmark([out, retval] BSTR* Boolmark);
        [id(0x000003f1)]
        HRESULT moveToBookmark(
                        [in] BSTR Bookmark, 
                        [out, retval] VARIANT_BOOL* Success);
        [id(0x00000403)]
        HRESULT queryCommandSupported(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x00000404)]
        HRESULT queryCommandEnabled(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x00000405)]
        HRESULT queryCommandState(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x00000406)]
        HRESULT queryCommandIndeterm(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x00000407)]
        HRESULT queryCommandText(
                        [in] BSTR cmdID, 
                        [out, retval] BSTR* pcmdText);
        [id(0x00000408)]
        HRESULT queryCommandValue(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT* pcmdValue);
        [id(0x00000409)]
        HRESULT execCommand(
                        [in] BSTR cmdID, 
                        [in, optional, defaultvalue(0)] VARIANT_BOOL showUI, 
                        [in, optional] VARIANT value, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x0000040a)]
        HRESULT execCommandShowHelp(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
    };

    [
      odl,
      uuid(3050F40B-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTextRangeMetrics : IDispatch {
        [id(0x0000040b), propget]
        HRESULT offsetTop([out, retval] long* p);
        [id(0x0000040c), propget]
        HRESULT offsetLeft([out, retval] long* p);
        [id(0x0000040d), propget]
        HRESULT boundingTop([out, retval] long* p);
        [id(0x0000040e), propget]
        HRESULT boundingLeft([out, retval] long* p);
        [id(0x0000040f), propget]
        HRESULT boundingWidth([out, retval] long* p);
        [id(0x00000410), propget]
        HRESULT boundingHeight([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F4A6-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTextRangeMetrics2 : IDispatch {
        [id(0x00000411)]
        HRESULT getClientRects([out, retval] IHTMLRectCollection** pRectCol);
        [id(0x00000412)]
        HRESULT getBoundingClientRect([out, retval] IHTMLRect** pRect);
    };

    [
      odl,
      uuid(3050F7ED-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTxtRangeCollection : IDispatch {
        [id(0x000005dc), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in] VARIANT* pvarIndex, 
                        [out, retval] VARIANT* pvarResult);
    };

    [
      uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLFormElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ef)]
            VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f7)]
            VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLFormElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003ef)]
            VARIANT_BOOL onsubmit();
            [id(0x000003f7)]
            VARIANT_BOOL onreset();
    };

    [
      odl,
      uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFormElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT action([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT action([out, retval] BSTR* p);
        [id(0x800113fd), propput, bindable, displaybind]
        HRESULT dir([in] BSTR p);
        [id(0x800113fd), propget, bindable, displaybind]
        HRESULT dir([out, retval] BSTR* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT encoding([in] BSTR p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT encoding([out, retval] BSTR* p);
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT method([in] BSTR p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT method([out, retval] BSTR* p);
        [id(0x000003ed), propget]
        HRESULT elements([out, retval] IDispatch** p);
        [id(0x000003ee), propput, bindable, displaybind]
        HRESULT target([in] BSTR p);
        [id(0x000003ee), propget, bindable, displaybind]
        HRESULT target([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x8001177b), propput, bindable, displaybind]
        HRESULT onsubmit([in] VARIANT p);
        [id(0x8001177b), propget, bindable, displaybind]
        HRESULT onsubmit([out, retval] VARIANT* p);
        [id(0x8001177c), propput, bindable, displaybind]
        HRESULT onreset([in] VARIANT p);
        [id(0x8001177c), propget, bindable, displaybind]
        HRESULT onreset([out, retval] VARIANT* p);
        [id(0x000003f1)]
        HRESULT submit();
        [id(0x000003f2)]
        HRESULT reset();
        [id(0x000005dc), propput]
        HRESULT length([in] long p);
        [id(0x000005dc), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in, optional] VARIANT name, 
                        [in, optional] VARIANT index, 
                        [out, retval] IDispatch** pdisp);
        [id(0x000005de)]
        HRESULT tags(
                        [in] VARIANT tagName, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F4F6-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFormElement2 : IDispatch {
        [id(0x000003f3), propput, bindable, displaybind]
        HRESULT acceptCharset([in] BSTR p);
        [id(0x000003f3), propget, bindable, displaybind]
        HRESULT acceptCharset([out, retval] BSTR* p);
        [id(0x000005e1)]
        HRESULT urns(
                        [in] VARIANT urn, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F836-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFormElement3 : IDispatch {
        [id(0x000005e2)]
        HRESULT namedItem(
                        [in] BSTR name, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F645-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLSubmitData : IDispatch {
        [id(0x000003f4)]
        HRESULT appendNameValuePair(
                        [in, optional, defaultvalue("")] BSTR name, 
                        [in, optional, defaultvalue("")] BSTR value);
        [id(0x000003f5)]
        HRESULT appendNameFilePair(
                        [in, optional, defaultvalue("")] BSTR name, 
                        [in, optional, defaultvalue("")] BSTR filename);
        [id(0x000003f6)]
        HRESULT appendItemSeparator();
    };

    [
      uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLFormElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void action(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR action();
            [id(0x000003eb), propput, bindable, displaybind]
            void encoding(BSTR rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            BSTR encoding();
            [id(0x000003ec), propput, bindable, displaybind]
            void method(BSTR rhs);
            [id(0x000003ec), propget, bindable, displaybind]
            BSTR method();
            [id(0x000003ed), propget]
            IDispatch* elements();
            [id(0x000003ee), propput, bindable, displaybind]
            void target(BSTR rhs);
            [id(0x000003ee), propget, bindable, displaybind]
            BSTR target();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x8001177b), propput, bindable, displaybind]
            void onsubmit(VARIANT rhs);
            [id(0x8001177b), propget, bindable, displaybind]
            VARIANT onsubmit();
            [id(0x8001177c), propput, bindable, displaybind]
            void onreset(VARIANT rhs);
            [id(0x8001177c), propget, bindable, displaybind]
            VARIANT onreset();
            [id(0x000003f1)]
            void submit();
            [id(0x000003f2)]
            void reset();
            [id(0x000005dc), propput]
            void length(long rhs);
            [id(0x000005dc), propget]
            long length();
            [id(0xfffffffc), propget, restricted, hidden]
            IUnknown* _newEnum();
            [id(00000000)]
            IDispatch* item(
                            [in, optional] VARIANT name, 
                            [in, optional] VARIANT index);
            [id(0x000005de)]
            IDispatch* tags([in] VARIANT tagName);
            [id(0x000003f3), propput, bindable, displaybind]
            void acceptCharset(BSTR rhs);
            [id(0x000003f3), propget, bindable, displaybind]
            BSTR acceptCharset();
            [id(0x000005e1)]
            IDispatch* urns([in] VARIANT urn);
            [id(0x000005e2)]
            IDispatch* namedItem([in] BSTR name);
            [id(0x000003f4)]
            void appendNameValuePair(
                            [in, optional, defaultvalue("")] BSTR name, 
                            [in, optional, defaultvalue("")] BSTR value);
            [id(0x000003f5)]
            void appendNameFilePair(
                            [in, optional, defaultvalue("")] BSTR name, 
                            [in, optional, defaultvalue("")] BSTR filename);
            [id(0x000003f6)]
            void appendItemSeparator();
    };

    [
      uuid(3050F251-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLFormElement {
        [default] dispinterface DispHTMLFormElement;
        [default, source] dispinterface HTMLFormElementEvents;
        [source] dispinterface HTMLFormElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLFormElement;
        interface IHTMLFormElement2;
        interface IHTMLFormElement3;
        interface IHTMLSubmitData;
    };

    [
      uuid(3050F612-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLControlElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F4EA-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLControlElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
    };

    typedef enum {
        htmlStartfileopen = 0,
        htmlStartmouseover = 1,
        htmlStart_Max = 0x7fffffff
    } _htmlStart;

    [
      odl,
      uuid(3050F4E9-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLControlElement : IDispatch {
        [id(0x8001000f), propput, bindable, displaybind]
        HRESULT tabIndex([in] short p);
        [id(0x8001000f), propget, bindable, displaybind]
        HRESULT tabIndex([out, retval] short* p);
        [id(0x800107d0)]
        HRESULT focus();
        [id(0x800107d5), propput, bindable, displaybind]
        HRESULT accessKey([in] BSTR p);
        [id(0x800107d5), propget, bindable, displaybind]
        HRESULT accessKey([out, retval] BSTR* p);
        [id(0x8001177f), propput, bindable, displaybind]
        HRESULT onblur([in] VARIANT p);
        [id(0x8001177f), propget, bindable, displaybind]
        HRESULT onblur([out, retval] VARIANT* p);
        [id(0x8001177e), propput, bindable, displaybind]
        HRESULT onfocus([in] VARIANT p);
        [id(0x8001177e), propget, bindable, displaybind]
        HRESULT onfocus([out, retval] VARIANT* p);
        [id(0x80011794), propput, bindable, displaybind]
        HRESULT onresize([in] VARIANT p);
        [id(0x80011794), propget, bindable, displaybind]
        HRESULT onresize([out, retval] VARIANT* p);
        [id(0x800107d2)]
        HRESULT blur();
        [id(0x800107e1)]
        HRESULT addFilter([in] IUnknown* pUnk);
        [id(0x800107e2)]
        HRESULT removeFilter([in] IUnknown* pUnk);
        [id(0x800107e3), propget, bindable, displaybind]
        HRESULT clientHeight([out, retval] long* p);
        [id(0x800107e4), propget, bindable, displaybind]
        HRESULT clientWidth([out, retval] long* p);
        [id(0x800107e5), propget, bindable, displaybind]
        HRESULT clientTop([out, retval] long* p);
        [id(0x800107e6), propget, bindable, displaybind]
        HRESULT clientLeft([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F218-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTextElement : IDispatch {
    };

    [
      uuid(3050F537-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTextElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
    };

    [
      uuid(3050F26A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTextElement {
        [default] dispinterface DispHTMLTextElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLTextElement;
    };

    [
      uuid(3050F624-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLTextContainerEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e9)]
            void onchange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ee)]
            void onselect([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(1FF6AA72-5842-11CF-A707-00AA00C0098D),
      hidden
    ]
    dispinterface HTMLTextContainerEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003e9)]
            void onchange();
            [id(0x000003ee)]
            void onselect();
    };

    [
      odl,
      uuid(3050F230-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTextContainer : IDispatch {
        [id(0x000003e9)]
        HRESULT createControlRange([out, retval] IDispatch** range);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT scrollHeight([out, retval] long* p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT scrollWidth([out, retval] long* p);
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT scrollTop([in] long p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT scrollTop([out, retval] long* p);
        [id(0x000003ed), propput, bindable, displaybind]
        HRESULT scrollLeft([in] long p);
        [id(0x000003ed), propget, bindable, displaybind]
        HRESULT scrollLeft([out, retval] long* p);
        [id(0x8001178f), propput, bindable, displaybind]
        HRESULT onscroll([in] VARIANT p);
        [id(0x8001178f), propget, bindable, displaybind]
        HRESULT onscroll([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F29C-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLControlRange : IDispatch {
        [id(0x000003ea)]
        HRESULT select();
        [id(0x000003eb)]
        HRESULT add([in] IHTMLControlElement* item);
        [id(0x000003ec)]
        HRESULT remove([in] long index);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] IHTMLElement** pdisp);
        [id(0x000003ee)]
        HRESULT scrollIntoView([in, optional] VARIANT varargStart);
        [id(0x000003ef)]
        HRESULT queryCommandSupported(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x000003f0)]
        HRESULT queryCommandEnabled(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x000003f1)]
        HRESULT queryCommandState(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x000003f2)]
        HRESULT queryCommandIndeterm(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x000003f3)]
        HRESULT queryCommandText(
                        [in] BSTR cmdID, 
                        [out, retval] BSTR* pcmdText);
        [id(0x000003f4)]
        HRESULT queryCommandValue(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT* pcmdValue);
        [id(0x000003f5)]
        HRESULT execCommand(
                        [in] BSTR cmdID, 
                        [in, optional, defaultvalue(0)] VARIANT_BOOL showUI, 
                        [in, optional] VARIANT value, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x000003f6)]
        HRESULT execCommandShowHelp(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x000003f7)]
        HRESULT commonParentElement([out, retval] IHTMLElement** parent);
        [id(0x000003ed), propget]
        HRESULT length([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F65E-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLControlRange2 : IDispatch {
        [id(0x000003f8)]
        HRESULT addElement([in] IHTMLElement* item);
    };

    [
      uuid(3050F616-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLImgEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e8)]
            void onabort([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F25B-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLImgEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003eb)]
            void onload();
            [id(0x000003ea)]
            void onerror();
            [id(0x000003e8)]
            void onabort();
    };

    [
      odl,
      uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLImgElement : IDispatch {
        [id(0x000007d2), propput, bindable, displaybind]
        HRESULT isMap([in] VARIANT_BOOL p);
        [id(0x000007d2), propget, bindable, displaybind]
        HRESULT isMap([out, retval] VARIANT_BOOL* p);
        [id(0x000007d8), propput, bindable, displaybind]
        HRESULT useMap([in] BSTR p);
        [id(0x000007d8), propget, bindable, displaybind]
        HRESULT useMap([out, retval] BSTR* p);
        [id(0x000007da), propget]
        HRESULT mimeType([out, retval] BSTR* p);
        [id(0x000007db), propget]
        HRESULT fileSize([out, retval] BSTR* p);
        [id(0x000007dc), propget]
        HRESULT fileCreatedDate([out, retval] BSTR* p);
        [id(0x000007dd), propget]
        HRESULT fileModifiedDate([out, retval] BSTR* p);
        [id(0x000007de), propget]
        HRESULT fileUpdatedDate([out, retval] BSTR* p);
        [id(0x000007df), propget]
        HRESULT protocol([out, retval] BSTR* p);
        [id(0x000007e0), propget]
        HRESULT href([out, retval] BSTR* p);
        [id(0x000007e1), propget]
        HRESULT nameProp([out, retval] BSTR* p);
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT border([in] VARIANT p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT border([out, retval] VARIANT* p);
        [id(0x000003ed), propput, bindable, displaybind]
        HRESULT vspace([in] long p);
        [id(0x000003ed), propget, bindable, displaybind]
        HRESULT vspace([out, retval] long* p);
        [id(0x000003ee), propput, bindable, displaybind]
        HRESULT hspace([in] long p);
        [id(0x000003ee), propget, bindable, displaybind]
        HRESULT hspace([out, retval] long* p);
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT alt([in] BSTR p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT alt([out, retval] BSTR* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT src([in] BSTR p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT src([out, retval] BSTR* p);
        [id(0x000003ef), propput, bindable, displaybind]
        HRESULT lowsrc([in] BSTR p);
        [id(0x000003ef), propget, bindable, displaybind]
        HRESULT lowsrc([out, retval] BSTR* p);
        [id(0x000003f0), propput, bindable, displaybind]
        HRESULT vrml([in] BSTR p);
        [id(0x000003f0), propget, bindable, displaybind]
        HRESULT vrml([out, retval] BSTR* p);
        [id(0x000003f1), propput, bindable, displaybind]
        HRESULT dynsrc([in] BSTR p);
        [id(0x000003f1), propget, bindable, displaybind]
        HRESULT dynsrc([out, retval] BSTR* p);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x000003f2), propget]
        HRESULT complete([out, retval] VARIANT_BOOL* p);
        [id(0x000003f3), propput, bindable, displaybind]
        HRESULT loop([in] VARIANT p);
        [id(0x000003f3), propget, bindable, displaybind]
        HRESULT loop([out, retval] VARIANT* p);
        [id(0x80010049), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x8001178d), propput, bindable, displaybind]
        HRESULT onerror([in] VARIANT p);
        [id(0x8001178d), propget, bindable, displaybind]
        HRESULT onerror([out, retval] VARIANT* p);
        [id(0x8001178c), propput, bindable, displaybind]
        HRESULT onabort([in] VARIANT p);
        [id(0x8001178c), propget, bindable, displaybind]
        HRESULT onabort([out, retval] VARIANT* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x80010005), propput]
        HRESULT width([in] long p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] long* p);
        [id(0x80010006), propput]
        HRESULT height([in] long p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] long* p);
        [id(0x000003f5), propput, bindable, displaybind]
        HRESULT Start([in] BSTR p);
        [id(0x000003f5), propget, bindable, displaybind]
        HRESULT Start([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F826-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLImgElement2 : IDispatch {
        [id(0x000007e3), propput, bindable, displaybind]
        HRESULT longDesc([in] BSTR p);
        [id(0x000007e3), propget, bindable, displaybind]
        HRESULT longDesc([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLImageElementFactory : IDispatch {
        [id(00000000)]
        HRESULT create(
                        [in, optional] VARIANT width, 
                        [in, optional] VARIANT height, 
                        [out, retval] IHTMLImgElement** __MIDL_0011);
    };

    [
      uuid(3050F51C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLImg {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000007d2), propput, bindable, displaybind]
            void isMap(VARIANT_BOOL rhs);
            [id(0x000007d2), propget, bindable, displaybind]
            VARIANT_BOOL isMap();
            [id(0x000007d8), propput, bindable, displaybind]
            void useMap(BSTR rhs);
            [id(0x000007d8), propget, bindable, displaybind]
            BSTR useMap();
            [id(0x000007da), propget]
            BSTR mimeType();
            [id(0x000007db), propget]
            BSTR fileSize();
            [id(0x000007dc), propget]
            BSTR fileCreatedDate();
            [id(0x000007dd), propget]
            BSTR fileModifiedDate();
            [id(0x000007de), propget]
            BSTR fileUpdatedDate();
            [id(0x000007df), propget]
            BSTR protocol();
            [id(0x000007e0), propget]
            BSTR href();
            [id(0x000007e1), propget]
            BSTR nameProp();
            [id(0x000003ec), propput, bindable, displaybind]
            void border(VARIANT rhs);
            [id(0x000003ec), propget, bindable, displaybind]
            VARIANT border();
            [id(0x000003ed), propput, bindable, displaybind]
            void vspace(long rhs);
            [id(0x000003ed), propget, bindable, displaybind]
            long vspace();
            [id(0x000003ee), propput, bindable, displaybind]
            void hspace(long rhs);
            [id(0x000003ee), propget, bindable, displaybind]
            long hspace();
            [id(0x000003ea), propput, bindable, displaybind]
            void alt(BSTR rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            BSTR alt();
            [id(0x000003eb), propput, bindable, displaybind]
            void src(BSTR rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            BSTR src();
            [id(0x000003ef), propput, bindable, displaybind]
            void lowsrc(BSTR rhs);
            [id(0x000003ef), propget, bindable, displaybind]
            BSTR lowsrc();
            [id(0x000003f0), propput, bindable, displaybind]
            void vrml(BSTR rhs);
            [id(0x000003f0), propget, bindable, displaybind]
            BSTR vrml();
            [id(0x000003f1), propput, bindable, displaybind]
            void dynsrc(BSTR rhs);
            [id(0x000003f1), propget, bindable, displaybind]
            BSTR dynsrc();
            [id(0x000003f2), propget]
            VARIANT_BOOL complete();
            [id(0x000003f3), propput, bindable, displaybind]
            void loop(VARIANT rhs);
            [id(0x000003f3), propget, bindable, displaybind]
            VARIANT loop();
            [id(0x80010049), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010049), propget, bindable, displaybind]
            BSTR align();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x8001178c), propput, bindable, displaybind]
            void onabort(VARIANT rhs);
            [id(0x8001178c), propget, bindable, displaybind]
            VARIANT onabort();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x80010005), propput]
            void width(long rhs);
            [id(0x80010005), propget]
            long width();
            [id(0x80010006), propput]
            void height(long rhs);
            [id(0x80010006), propget]
            long height();
            [id(0x000003f5), propput, bindable, displaybind]
            void Start(BSTR rhs);
            [id(0x000003f5), propget, bindable, displaybind]
            BSTR Start();
            [id(0x000007e3), propput, bindable, displaybind]
            void longDesc(BSTR rhs);
            [id(0x000007e3), propget, bindable, displaybind]
            BSTR longDesc();
    };

    [
      uuid(3050F241-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLImg {
        [default] dispinterface DispHTMLImg;
        [default, source] dispinterface HTMLImgEvents;
        [source] dispinterface HTMLImgEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLImgElement;
        interface IHTMLImgElement2;
    };

    [
      uuid(3050F38F-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLImageElementFactory {
        [default] interface IHTMLImageElementFactory;
    };

    typedef enum {
        bodyScrollyes = 1,
        bodyScrollno = 2,
        bodyScrollauto = 4,
        bodyScrolldefault = 3,
        bodyScroll_Max = 0x7fffffff
    } _bodyScroll;

    [
      odl,
      uuid(3050F1D8-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBodyElement : IDispatch {
        [id(0x80011389), propput, bindable, displaybind]
        HRESULT background([in] BSTR p);
        [id(0x80011389), propget, bindable, displaybind]
        HRESULT background([out, retval] BSTR* p);
        [id(0x800113b5), propput, bindable, displaybind]
        HRESULT bgProperties([in] BSTR p);
        [id(0x800113b5), propget, bindable, displaybind]
        HRESULT bgProperties([out, retval] BSTR* p);
        [id(0x800113b0), propput, bindable, displaybind]
        HRESULT leftMargin([in] VARIANT p);
        [id(0x800113b0), propget, bindable, displaybind]
        HRESULT leftMargin([out, retval] VARIANT* p);
        [id(0x800113ad), propput, bindable, displaybind]
        HRESULT topMargin([in] VARIANT p);
        [id(0x800113ad), propget, bindable, displaybind]
        HRESULT topMargin([out, retval] VARIANT* p);
        [id(0x800113ae), propput, bindable, displaybind]
        HRESULT rightMargin([in] VARIANT p);
        [id(0x800113ae), propget, bindable, displaybind]
        HRESULT rightMargin([out, retval] VARIANT* p);
        [id(0x800113af), propput, bindable, displaybind]
        HRESULT bottomMargin([in] VARIANT p);
        [id(0x800113af), propget, bindable, displaybind]
        HRESULT bottomMargin([out, retval] VARIANT* p);
        [id(0x8001138d), propput, bindable, displaybind]
        HRESULT noWrap([in] VARIANT_BOOL p);
        [id(0x8001138d), propget, bindable, displaybind]
        HRESULT noWrap([out, retval] VARIANT_BOOL* p);
        [id(0xfffffe0b), propput, bindable, displaybind]
        HRESULT bgColor([in] VARIANT p);
        [id(0xfffffe0b), propget, bindable, displaybind]
        HRESULT bgColor([out, retval] VARIANT* p);
        [id(0x8001138a), propput, bindable, displaybind]
        HRESULT text([in] VARIANT p);
        [id(0x8001138a), propget, bindable, displaybind]
        HRESULT text([out, retval] VARIANT* p);
        [id(0x000007da), propput, bindable, displaybind]
        HRESULT link([in] VARIANT p);
        [id(0x000007da), propget, bindable, displaybind]
        HRESULT link([out, retval] VARIANT* p);
        [id(0x000007dc), propput, bindable, displaybind]
        HRESULT vLink([in] VARIANT p);
        [id(0x000007dc), propget, bindable, displaybind]
        HRESULT vLink([out, retval] VARIANT* p);
        [id(0x000007db), propput, bindable, displaybind]
        HRESULT aLink([in] VARIANT p);
        [id(0x000007db), propget, bindable, displaybind]
        HRESULT aLink([out, retval] VARIANT* p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x80011791), propput, bindable, displaybind]
        HRESULT onunload([in] VARIANT p);
        [id(0x80011791), propget, bindable, displaybind]
        HRESULT onunload([out, retval] VARIANT* p);
        [id(0x800113d7), propput, bindable, displaybind]
        HRESULT scroll([in] BSTR p);
        [id(0x800113d7), propget, bindable, displaybind]
        HRESULT scroll([out, retval] BSTR* p);
        [id(0x8001177a), propput, bindable, displaybind]
        HRESULT onselect([in] VARIANT p);
        [id(0x8001177a), propget, bindable, displaybind]
        HRESULT onselect([out, retval] VARIANT* p);
        [id(0x80011797), propput, bindable, displaybind]
        HRESULT onbeforeunload([in] VARIANT p);
        [id(0x80011797), propget, bindable, displaybind]
        HRESULT onbeforeunload([out, retval] VARIANT* p);
        [id(0x000007dd)]
        HRESULT createTextRange([out, retval] IHTMLTxtRange** range);
    };

    [
      odl,
      uuid(3050F5C5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBodyElement2 : IDispatch {
        [id(0x800117b2), propput, bindable, displaybind]
        HRESULT onbeforeprint([in] VARIANT p);
        [id(0x800117b2), propget, bindable, displaybind]
        HRESULT onbeforeprint([out, retval] VARIANT* p);
        [id(0x800117b3), propput, bindable, displaybind]
        HRESULT onafterprint([in] VARIANT p);
        [id(0x800117b3), propget, bindable, displaybind]
        HRESULT onafterprint([out, retval] VARIANT* p);
    };

    [
      uuid(3050F507-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLBody {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80011389), propput, bindable, displaybind]
            void background(BSTR rhs);
            [id(0x80011389), propget, bindable, displaybind]
            BSTR background();
            [id(0x800113b5), propput, bindable, displaybind]
            void bgProperties(BSTR rhs);
            [id(0x800113b5), propget, bindable, displaybind]
            BSTR bgProperties();
            [id(0x800113b0), propput, bindable, displaybind]
            void leftMargin(VARIANT rhs);
            [id(0x800113b0), propget, bindable, displaybind]
            VARIANT leftMargin();
            [id(0x800113ad), propput, bindable, displaybind]
            void topMargin(VARIANT rhs);
            [id(0x800113ad), propget, bindable, displaybind]
            VARIANT topMargin();
            [id(0x800113ae), propput, bindable, displaybind]
            void rightMargin(VARIANT rhs);
            [id(0x800113ae), propget, bindable, displaybind]
            VARIANT rightMargin();
            [id(0x800113af), propput, bindable, displaybind]
            void bottomMargin(VARIANT rhs);
            [id(0x800113af), propget, bindable, displaybind]
            VARIANT bottomMargin();
            [id(0x8001138d), propput, bindable, displaybind]
            void noWrap(VARIANT_BOOL rhs);
            [id(0x8001138d), propget, bindable, displaybind]
            VARIANT_BOOL noWrap();
            [id(0xfffffe0b), propput, bindable, displaybind]
            void bgColor(VARIANT rhs);
            [id(0xfffffe0b), propget, bindable, displaybind]
            VARIANT bgColor();
            [id(0x8001138a), propput, bindable, displaybind]
            void text(VARIANT rhs);
            [id(0x8001138a), propget, bindable, displaybind]
            VARIANT text();
            [id(0x000007da), propput, bindable, displaybind]
            void link(VARIANT rhs);
            [id(0x000007da), propget, bindable, displaybind]
            VARIANT link();
            [id(0x000007dc), propput, bindable, displaybind]
            void vLink(VARIANT rhs);
            [id(0x000007dc), propget, bindable, displaybind]
            VARIANT vLink();
            [id(0x000007db), propput, bindable, displaybind]
            void aLink(VARIANT rhs);
            [id(0x000007db), propget, bindable, displaybind]
            VARIANT aLink();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x80011791), propput, bindable, displaybind]
            void onunload(VARIANT rhs);
            [id(0x80011791), propget, bindable, displaybind]
            VARIANT onunload();
            [id(0x800113d7), propput, bindable, displaybind]
            void scroll(BSTR rhs);
            [id(0x800113d7), propget, bindable, displaybind]
            BSTR scroll();
            [id(0x8001177a), propput, bindable, displaybind]
            void onselect(VARIANT rhs);
            [id(0x8001177a), propget, bindable, displaybind]
            VARIANT onselect();
            [id(0x80011797), propput, bindable, displaybind]
            void onbeforeunload(VARIANT rhs);
            [id(0x80011797), propget, bindable, displaybind]
            VARIANT onbeforeunload();
            [id(0x000007dd)]
            IHTMLTxtRange* createTextRange();
            [id(0x800117b2), propput, bindable, displaybind]
            void onbeforeprint(VARIANT rhs);
            [id(0x800117b2), propget, bindable, displaybind]
            VARIANT onbeforeprint();
            [id(0x800117b3), propput, bindable, displaybind]
            void onafterprint(VARIANT rhs);
            [id(0x800117b3), propget, bindable, displaybind]
            VARIANT onafterprint();
    };

    [
      uuid(3050F24A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLBody {
        [default] dispinterface DispHTMLBody;
        [default, source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLBodyElement;
        interface IHTMLBodyElement2;
    };

    [
      odl,
      uuid(3050F1D9-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFontElement : IDispatch {
        [id(0x8001138a), propput, bindable, displaybind]
        HRESULT color([in] VARIANT p);
        [id(0x8001138a), propget, bindable, displaybind]
        HRESULT color([out, retval] VARIANT* p);
        [id(0x8001139a), propput, bindable, displaybind]
        HRESULT face([in] BSTR p);
        [id(0x8001139a), propget, bindable, displaybind]
        HRESULT face([out, retval] BSTR* p);
        [id(0x8001139b), propput, bindable, displaybind]
        HRESULT size([in] VARIANT p);
        [id(0x8001139b), propget, bindable, displaybind]
        HRESULT size([out, retval] VARIANT* p);
    };

    [
      uuid(3050F512-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLFontElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x8001138a), propput, bindable, displaybind]
            void color(VARIANT rhs);
            [id(0x8001138a), propget, bindable, displaybind]
            VARIANT color();
            [id(0x8001139a), propput, bindable, displaybind]
            void face(BSTR rhs);
            [id(0x8001139a), propget, bindable, displaybind]
            BSTR face();
            [id(0x8001139b), propput, bindable, displaybind]
            void size(VARIANT rhs);
            [id(0x8001139b), propget, bindable, displaybind]
            VARIANT size();
    };

    [
      uuid(3050F27B-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLFontElement {
        [default] dispinterface DispHTMLFontElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLFontElement;
    };

    [
      uuid(3050F610-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLAnchorEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F29D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLAnchorEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
    };

    [
      odl,
      uuid(3050F1DA-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAnchorElement : IDispatch {
        [id(00000000), propput, bindable, displaybind]
        HRESULT href([in] BSTR p);
        [id(00000000), propget, bindable, displaybind]
        HRESULT href([out, retval] BSTR* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT target([in] BSTR p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT target([out, retval] BSTR* p);
        [id(0x000003ed), propput, bindable, displaybind]
        HRESULT rel([in] BSTR p);
        [id(0x000003ed), propget, bindable, displaybind]
        HRESULT rel([out, retval] BSTR* p);
        [id(0x000003ee), propput, bindable, displaybind]
        HRESULT rev([in] BSTR p);
        [id(0x000003ee), propget, bindable, displaybind]
        HRESULT rev([out, retval] BSTR* p);
        [id(0x000003ef), propput, bindable, displaybind]
        HRESULT urn([in] BSTR p);
        [id(0x000003ef), propget, bindable, displaybind]
        HRESULT urn([out, retval] BSTR* p);
        [id(0x000003f0), propput, bindable, displaybind]
        HRESULT Methods([in] BSTR p);
        [id(0x000003f0), propget, bindable, displaybind]
        HRESULT Methods([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000003f4), propput]
        HRESULT host([in] BSTR p);
        [id(0x000003f4), propget]
        HRESULT host([out, retval] BSTR* p);
        [id(0x000003f5), propput]
        HRESULT hostname([in] BSTR p);
        [id(0x000003f5), propget]
        HRESULT hostname([out, retval] BSTR* p);
        [id(0x000003f6), propput]
        HRESULT pathname([in] BSTR p);
        [id(0x000003f6), propget]
        HRESULT pathname([out, retval] BSTR* p);
        [id(0x000003f7), propput]
        HRESULT port([in] BSTR p);
        [id(0x000003f7), propget]
        HRESULT port([out, retval] BSTR* p);
        [id(0x000003f8), propput]
        HRESULT protocol([in] BSTR p);
        [id(0x000003f8), propget]
        HRESULT protocol([out, retval] BSTR* p);
        [id(0x000003f9), propput]
        HRESULT search([in] BSTR p);
        [id(0x000003f9), propget]
        HRESULT search([out, retval] BSTR* p);
        [id(0x000003fa), propput]
        HRESULT hash([in] BSTR p);
        [id(0x000003fa), propget]
        HRESULT hash([out, retval] BSTR* p);
        [id(0x8001177f), propput, bindable, displaybind]
        HRESULT onblur([in] VARIANT p);
        [id(0x8001177f), propget, bindable, displaybind]
        HRESULT onblur([out, retval] VARIANT* p);
        [id(0x8001177e), propput, bindable, displaybind]
        HRESULT onfocus([in] VARIANT p);
        [id(0x8001177e), propget, bindable, displaybind]
        HRESULT onfocus([out, retval] VARIANT* p);
        [id(0x800107d5), propput, bindable, displaybind]
        HRESULT accessKey([in] BSTR p);
        [id(0x800107d5), propget, bindable, displaybind]
        HRESULT accessKey([out, retval] BSTR* p);
        [id(0x00000407), propget]
        HRESULT protocolLong([out, retval] BSTR* p);
        [id(0x00000406), propget]
        HRESULT mimeType([out, retval] BSTR* p);
        [id(0x00000408), propget]
        HRESULT nameProp([out, retval] BSTR* p);
        [id(0x8001000f), propput, bindable, displaybind]
        HRESULT tabIndex([in] short p);
        [id(0x8001000f), propget, bindable, displaybind]
        HRESULT tabIndex([out, retval] short* p);
        [id(0x800107d0)]
        HRESULT focus();
        [id(0x800107d2)]
        HRESULT blur();
    };

    [
      odl,
      uuid(3050F825-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAnchorElement2 : IDispatch {
        [id(0x000003ff), propput, bindable, displaybind]
        HRESULT charset([in] BSTR p);
        [id(0x000003ff), propget, bindable, displaybind]
        HRESULT charset([out, retval] BSTR* p);
        [id(0x00000400), propput, bindable, displaybind]
        HRESULT coords([in] BSTR p);
        [id(0x00000400), propget, bindable, displaybind]
        HRESULT coords([out, retval] BSTR* p);
        [id(0x00000401), propput, bindable, displaybind]
        HRESULT hreflang([in] BSTR p);
        [id(0x00000401), propget, bindable, displaybind]
        HRESULT hreflang([out, retval] BSTR* p);
        [id(0x00000402), propput, bindable, displaybind]
        HRESULT shape([in] BSTR p);
        [id(0x00000402), propget, bindable, displaybind]
        HRESULT shape([out, retval] BSTR* p);
        [id(0x00000403), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x00000403), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
    };

    [
      uuid(3050F502-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLAnchorElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(00000000), propput, bindable, displaybind]
            void href(BSTR rhs);
            [id(00000000), propget, bindable, displaybind]
            BSTR href();
            [id(0x000003eb), propput, bindable, displaybind]
            void target(BSTR rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            BSTR target();
            [id(0x000003ed), propput, bindable, displaybind]
            void rel(BSTR rhs);
            [id(0x000003ed), propget, bindable, displaybind]
            BSTR rel();
            [id(0x000003ee), propput, bindable, displaybind]
            void rev(BSTR rhs);
            [id(0x000003ee), propget, bindable, displaybind]
            BSTR rev();
            [id(0x000003ef), propput, bindable, displaybind]
            void urn(BSTR rhs);
            [id(0x000003ef), propget, bindable, displaybind]
            BSTR urn();
            [id(0x000003f0), propput, bindable, displaybind]
            void Methods(BSTR rhs);
            [id(0x000003f0), propget, bindable, displaybind]
            BSTR Methods();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000003f4), propput]
            void host(BSTR rhs);
            [id(0x000003f4), propget]
            BSTR host();
            [id(0x000003f5), propput]
            void hostname(BSTR rhs);
            [id(0x000003f5), propget]
            BSTR hostname();
            [id(0x000003f6), propput]
            void pathname(BSTR rhs);
            [id(0x000003f6), propget]
            BSTR pathname();
            [id(0x000003f7), propput]
            void port(BSTR rhs);
            [id(0x000003f7), propget]
            BSTR port();
            [id(0x000003f8), propput]
            void protocol(BSTR rhs);
            [id(0x000003f8), propget]
            BSTR protocol();
            [id(0x000003f9), propput]
            void search(BSTR rhs);
            [id(0x000003f9), propget]
            BSTR search();
            [id(0x000003fa), propput]
            void hash(BSTR rhs);
            [id(0x000003fa), propget]
            BSTR hash();
            [id(0x00000407), propget]
            BSTR protocolLong();
            [id(0x00000406), propget]
            BSTR mimeType();
            [id(0x00000408), propget]
            BSTR nameProp();
            [id(0x000003ff), propput, bindable, displaybind]
            void charset(BSTR rhs);
            [id(0x000003ff), propget, bindable, displaybind]
            BSTR charset();
            [id(0x00000400), propput, bindable, displaybind]
            void coords(BSTR rhs);
            [id(0x00000400), propget, bindable, displaybind]
            BSTR coords();
            [id(0x00000401), propput, bindable, displaybind]
            void hreflang(BSTR rhs);
            [id(0x00000401), propget, bindable, displaybind]
            BSTR hreflang();
            [id(0x00000402), propput, bindable, displaybind]
            void shape(BSTR rhs);
            [id(0x00000402), propget, bindable, displaybind]
            BSTR shape();
            [id(0x00000403), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x00000403), propget, bindable, displaybind]
            BSTR type();
    };

    [
      uuid(3050F248-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLAnchorElement {
        [default] dispinterface DispHTMLAnchorElement;
        [default, source] dispinterface HTMLAnchorEvents;
        [source] dispinterface HTMLAnchorEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLAnchorElement;
        interface IHTMLAnchorElement2;
    };

    [
      uuid(3050F61C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLLabelEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F329-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLLabelEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
    };

    [
      odl,
      uuid(3050F32A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLLabelElement : IDispatch {
        [id(0x000003e8), propput, bindable, displaybind]
        HRESULT htmlFor([in] BSTR p);
        [id(0x000003e8), propget, bindable, displaybind]
        HRESULT htmlFor([out, retval] BSTR* p);
        [id(0x800107d5), propput, bindable, displaybind]
        HRESULT accessKey([in] BSTR p);
        [id(0x800107d5), propget, bindable, displaybind]
        HRESULT accessKey([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F832-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLLabelElement2 : IDispatch {
        [id(0x000003ea), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
    };

    [
      uuid(3050F522-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLLabelElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000003e8), propput, bindable, displaybind]
            void htmlFor(BSTR rhs);
            [id(0x000003e8), propget, bindable, displaybind]
            BSTR htmlFor();
            [id(0x000003ea), propget]
            IHTMLFormElement* form();
    };

    [
      uuid(3050F32B-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLLabelElement {
        [default] dispinterface DispHTMLLabelElement;
        [default, source] dispinterface HTMLLabelEvents;
        [source] dispinterface HTMLLabelEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLLabelElement;
        interface IHTMLLabelElement2;
    };

    [
      odl,
      uuid(3050F20E-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLListElement : IDispatch {
    };

    [
      odl,
      uuid(3050F822-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLListElement2 : IDispatch {
        [id(0x000003e9), propput, bindable]
        HRESULT compact([in] VARIANT_BOOL p);
        [id(0x000003e9), propget, bindable]
        HRESULT compact([out, retval] VARIANT_BOOL* p);
    };

    [
      uuid(3050F525-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLListElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable]
            void compact(VARIANT_BOOL rhs);
            [id(0x000003e9), propget, bindable]
            VARIANT_BOOL compact();
    };

    [
      uuid(3050F272-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLListElement {
        [default] dispinterface DispHTMLListElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLListElement;
        interface IHTMLListElement2;
    };

    [
      odl,
      uuid(3050F1DD-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLUListElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT compact([in] VARIANT_BOOL p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT compact([out, retval] VARIANT_BOOL* p);
        [id(0x80011399), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x80011399), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
    };

    [
      uuid(3050F538-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLUListElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable]
            void compact(VARIANT_BOOL rhs);
            [id(0x000003e9), propget, bindable]
            VARIANT_BOOL compact();
            [id(0x80011399), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x80011399), propget, bindable, displaybind]
            BSTR type();
    };

    [
      uuid(3050F269-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLUListElement {
        [default] dispinterface DispHTMLUListElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLListElement;
        interface IHTMLListElement2;
        interface IHTMLUListElement;
    };

    [
      odl,
      uuid(3050F1DE-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLOListElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT compact([in] VARIANT_BOOL p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT compact([out, retval] VARIANT_BOOL* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT Start([in] long p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT Start([out, retval] long* p);
        [id(0x80011399), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x80011399), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
    };

    [
      uuid(3050F52A-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLOListElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable]
            void compact(VARIANT_BOOL rhs);
            [id(0x000003e9), propget, bindable]
            VARIANT_BOOL compact();
            [id(0x000003eb), propput, bindable, displaybind]
            void Start(long rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            long Start();
            [id(0x80011399), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x80011399), propget, bindable, displaybind]
            BSTR type();
    };

    [
      uuid(3050F270-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLOListElement {
        [default] dispinterface DispHTMLOListElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLListElement;
        interface IHTMLListElement2;
        interface IHTMLOListElement;
    };

    [
      odl,
      uuid(3050F1E0-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLLIElement : IDispatch {
        [id(0x80011399), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x80011399), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT value([in] long p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT value([out, retval] long* p);
    };

    [
      uuid(3050F523-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLLIElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80011399), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x80011399), propget, bindable, displaybind]
            BSTR type();
            [id(0x000003e9), propput, bindable, displaybind]
            void value(long rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            long value();
    };

    [
      uuid(3050F273-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLLIElement {
        [default] dispinterface DispHTMLLIElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLLIElement;
    };

    [
      odl,
      uuid(3050F208-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBlockElement : IDispatch {
        [id(0x80011398), propput, bindable, displaybind]
        HRESULT clear([in] BSTR p);
        [id(0x80011398), propget, bindable, displaybind]
        HRESULT clear([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F823-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBlockElement2 : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT cite([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT cite([out, retval] BSTR* p);
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT width([in] BSTR p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT width([out, retval] BSTR* p);
    };

    [
      uuid(3050F506-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLBlockElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80011398), propput, bindable, displaybind]
            void clear(BSTR rhs);
            [id(0x80011398), propget, bindable, displaybind]
            BSTR clear();
            [id(0x000003e9), propput, bindable, displaybind]
            void cite(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR cite();
            [id(0x000003ea), propput, bindable, displaybind]
            void width(BSTR rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            BSTR width();
    };

    [
      uuid(3050F281-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLBlockElement {
        [default] dispinterface DispHTMLBlockElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLBlockElement;
        interface IHTMLBlockElement2;
    };

    [
      odl,
      uuid(3050F200-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDivElement : IDispatch {
        [id(0x80010048), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
        [id(0x8001138d), propput, bindable, displaybind]
        HRESULT noWrap([in] VARIANT_BOOL p);
        [id(0x8001138d), propget, bindable, displaybind]
        HRESULT noWrap([out, retval] VARIANT_BOOL* p);
    };

    [
      uuid(3050F50C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDivElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x80010048), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010048), propget, bindable, displaybind]
            BSTR align();
            [id(0x8001138d), propput, bindable, displaybind]
            void noWrap(VARIANT_BOOL rhs);
            [id(0x8001138d), propget, bindable, displaybind]
            VARIANT_BOOL noWrap();
    };

    [
      uuid(3050F27E-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDivElement {
        [default] dispinterface DispHTMLDivElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLElementEvents2;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLDivElement;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
    };

    [
      odl,
      uuid(3050F1F2-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDDElement : IDispatch {
        [id(0x8001138d), propput, bindable, displaybind]
        HRESULT noWrap([in] VARIANT_BOOL p);
        [id(0x8001138d), propget, bindable, displaybind]
        HRESULT noWrap([out, retval] VARIANT_BOOL* p);
    };

    [
      uuid(3050F50B-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDDElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x8001138d), propput, bindable, displaybind]
            void noWrap(VARIANT_BOOL rhs);
            [id(0x8001138d), propget, bindable, displaybind]
            VARIANT_BOOL noWrap();
    };

    [
      uuid(3050F27F-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDDElement {
        [default] dispinterface DispHTMLDDElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDDElement;
    };

    [
      odl,
      uuid(3050F1F3-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDTElement : IDispatch {
        [id(0x8001138d), propput, bindable, displaybind]
        HRESULT noWrap([in] VARIANT_BOOL p);
        [id(0x8001138d), propget, bindable, displaybind]
        HRESULT noWrap([out, retval] VARIANT_BOOL* p);
    };

    [
      uuid(3050F50D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDTElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x8001138d), propput, bindable, displaybind]
            void noWrap(VARIANT_BOOL rhs);
            [id(0x8001138d), propget, bindable, displaybind]
            VARIANT_BOOL noWrap();
    };

    [
      uuid(3050F27C-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDTElement {
        [default] dispinterface DispHTMLDTElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDTElement;
    };

    [
      odl,
      uuid(3050F1F0-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBRElement : IDispatch {
        [id(0x80011398), propput, bindable, displaybind]
        HRESULT clear([in] BSTR p);
        [id(0x80011398), propget, bindable, displaybind]
        HRESULT clear([out, retval] BSTR* p);
    };

    [
      uuid(3050F53A-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLBRElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80011398), propput, bindable, displaybind]
            void clear(BSTR rhs);
            [id(0x80011398), propget, bindable, displaybind]
            BSTR clear();
    };

    [
      uuid(3050F280-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLBRElement {
        [default] dispinterface DispHTMLBRElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLBRElement;
    };

    [
      odl,
      uuid(3050F1F1-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDListElement : IDispatch {
        [id(0x000003e9), propput, bindable]
        HRESULT compact([in] VARIANT_BOOL p);
        [id(0x000003e9), propget, bindable]
        HRESULT compact([out, retval] VARIANT_BOOL* p);
    };

    [
      uuid(3050F53B-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDListElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable]
            void compact(VARIANT_BOOL rhs);
            [id(0x000003e9), propget, bindable]
            VARIANT_BOOL compact();
    };

    [
      uuid(3050F27D-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDListElement {
        [default] dispinterface DispHTMLDListElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLListElement;
        interface IHTMLListElement2;
        interface IHTMLDListElement;
    };

    [
      odl,
      uuid(3050F1F4-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLHRElement : IDispatch {
        [id(0x80010048), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
        [id(0x8001138a), propput, bindable, displaybind]
        HRESULT color([in] VARIANT p);
        [id(0x8001138a), propget, bindable, displaybind]
        HRESULT color([out, retval] VARIANT* p);
        [id(0x000003e9), propput, bindable]
        HRESULT noShade([in] VARIANT_BOOL p);
        [id(0x000003e9), propget, bindable]
        HRESULT noShade([out, retval] VARIANT_BOOL* p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propput]
        HRESULT size([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT size([out, retval] VARIANT* p);
    };

    [
      uuid(3050F53D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLHRElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80010048), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010048), propget, bindable, displaybind]
            BSTR align();
            [id(0x8001138a), propput, bindable, displaybind]
            void color(VARIANT rhs);
            [id(0x8001138a), propget, bindable, displaybind]
            VARIANT color();
            [id(0x000003e9), propput, bindable]
            void noShade(VARIANT_BOOL rhs);
            [id(0x000003e9), propget, bindable]
            VARIANT_BOOL noShade();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
            [id(0x80010006), propput]
            void size(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT size();
    };

    [
      uuid(3050F252-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLHRElement {
        [default] dispinterface DispHTMLHRElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLHRElement;
    };

    [
      odl,
      uuid(3050F1F5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLParaElement : IDispatch {
        [id(0x80010048), propput, bindable]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget, bindable]
        HRESULT align([out, retval] BSTR* p);
    };

    [
      uuid(3050F52C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLParaElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80011398), propput, bindable, displaybind]
            void clear(BSTR rhs);
            [id(0x80011398), propget, bindable, displaybind]
            BSTR clear();
            [id(0x80010048), propput, bindable]
            void align(BSTR rhs);
            [id(0x80010048), propget, bindable]
            BSTR align();
    };

    [
      uuid(3050F26F-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLParaElement {
        [default] dispinterface DispHTMLParaElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLBlockElement;
        interface IHTMLParaElement;
    };

    [
      odl,
      uuid(3050F5EE-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLElementCollection2 : IDispatch {
        [id(0x000005e1)]
        HRESULT urns(
                        [in] VARIANT urn, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F835-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLElementCollection3 : IDispatch {
        [id(0x000005e2)]
        HRESULT namedItem(
                        [in] BSTR name, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      uuid(3050F56B-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLElementCollection {
        properties:
        methods:
            [id(0x000005dd)]
            BSTR toString();
            [id(0x000005dc), propput]
            void length(long rhs);
            [id(0x000005dc), propget]
            long length();
            [id(0xfffffffc), propget, restricted, hidden]
            IUnknown* _newEnum();
            [id(00000000)]
            IDispatch* item(
                            [in, optional] VARIANT name, 
                            [in, optional] VARIANT index);
            [id(0x000005de)]
            IDispatch* tags([in] VARIANT tagName);
            [id(0x000005e1)]
            IDispatch* urns([in] VARIANT urn);
            [id(0x000005e2)]
            IDispatch* namedItem([in] BSTR name);
    };

    [
      uuid(3050F4CB-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLElementCollection {
        [default] dispinterface DispHTMLElementCollection;
        interface IHTMLElementCollection;
        interface IHTMLElementCollection2;
        interface IHTMLElementCollection3;
    };

    [
      odl,
      uuid(3050F1F6-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLHeaderElement : IDispatch {
        [id(0x80010048), propput, bindable]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget, bindable]
        HRESULT align([out, retval] BSTR* p);
    };

    [
      uuid(3050F515-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLHeaderElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80011398), propput, bindable, displaybind]
            void clear(BSTR rhs);
            [id(0x80011398), propget, bindable, displaybind]
            BSTR clear();
            [id(0x80010048), propput, bindable]
            void align(BSTR rhs);
            [id(0x80010048), propget, bindable]
            BSTR align();
    };

    [
      uuid(3050F27A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLHeaderElement {
        [default] dispinterface DispHTMLHeaderElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLBlockElement;
        interface IHTMLHeaderElement;
    };

    [
      uuid(3050F622-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLSelectElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e9)]
            void onchange([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F302-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLSelectElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003e9)]
            void onchange();
    };

    typedef enum {
        htmlSelectTypeSelectOne = 1,
        htmlSelectTypeSelectMultiple = 2,
        htmlSelectType_Max = 0x7fffffff
    } _htmlSelectType;

    [
      odl,
      uuid(3050F244-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLSelectElement : IDispatch {
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT size([in] long p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT size([out, retval] long* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT multiple([in] VARIANT_BOOL p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT multiple([out, retval] VARIANT_BOOL* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000003ed), propget]
        HRESULT options([out, retval] IDispatch** p);
        [id(0x8001178e), propput, bindable, displaybind]
        HRESULT onchange([in] VARIANT p);
        [id(0x8001178e), propget, bindable, displaybind]
        HRESULT onchange([out, retval] VARIANT* p);
        [id(0x000003f2), propput]
        HRESULT selectedIndex([in] long p);
        [id(0x000003f2), propget]
        HRESULT selectedIndex([out, retval] long* p);
        [id(0x000003f4), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
        [id(0x000003f3), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x000003f3), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x000005df)]
        HRESULT add(
                        [in] IHTMLElement* element, 
                        [in, optional] VARIANT before);
        [id(0x000005e0)]
        HRESULT remove([in, optional, defaultvalue(-1)] long index);
        [id(0x000005dc), propput]
        HRESULT length([in] long p);
        [id(0x000005dc), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in, optional] VARIANT name, 
                        [in, optional] VARIANT index, 
                        [out, retval] IDispatch** pdisp);
        [id(0x000005de)]
        HRESULT tags(
                        [in] VARIANT tagName, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F5ED-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLSelectElement2 : IDispatch {
        [id(0x000005e1)]
        HRESULT urns(
                        [in] VARIANT urn, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F838-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLSelectElement4 : IDispatch {
        [id(0x000005e2)]
        HRESULT namedItem(
                        [in] BSTR name, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      uuid(3050F531-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLSelectElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000003ea), propput, bindable, displaybind]
            void size(long rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            long size();
            [id(0x000003eb), propput, bindable, displaybind]
            void multiple(VARIANT_BOOL rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            VARIANT_BOOL multiple();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000003ed), propget]
            IDispatch* options();
            [id(0x8001178e), propput, bindable, displaybind]
            void onchange(VARIANT rhs);
            [id(0x8001178e), propget, bindable, displaybind]
            VARIANT onchange();
            [id(0x000003f2), propput]
            void selectedIndex(long rhs);
            [id(0x000003f2), propget]
            long selectedIndex();
            [id(0x000003f4), propget, bindable, displaybind]
            BSTR type();
            [id(0x000003f3), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x000003f3), propget, bindable, displaybind]
            BSTR value();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x000005df)]
            void add(
                            [in] IHTMLElement* element, 
                            [in, optional] VARIANT before);
            [id(0x000005e0)]
            void remove([in, optional, defaultvalue(-1)] long index);
            [id(0x000005dc), propput]
            void length(long rhs);
            [id(0x000005dc), propget]
            long length();
            [id(0xfffffffc), propget, restricted, hidden]
            IUnknown* _newEnum();
            [id(00000000)]
            IDispatch* item(
                            [in, optional] VARIANT name, 
                            [in, optional] VARIANT index);
            [id(0x000005de)]
            IDispatch* tags([in] VARIANT tagName);
            [id(0x000005e1)]
            IDispatch* urns([in] VARIANT urn);
            [id(0x000005e2)]
            IDispatch* namedItem([in] BSTR name);
    };

    [
      uuid(3050F245-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLSelectElement {
        [default] dispinterface DispHTMLSelectElement;
        [default, source] dispinterface HTMLSelectElementEvents;
        [source] dispinterface HTMLSelectElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLSelectElement;
        interface IHTMLSelectElement2;
        interface IHTMLSelectElement4;
    };

    typedef enum {
        htmlSelectionNone = 0,
        htmlSelectionText = 1,
        htmlSelectionControl = 2,
        htmlSelectionTable = 3,
        htmlSelection_Max = 0x7fffffff
    } _htmlSelection;

    [
      odl,
      uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLSelectionObject : IDispatch {
        [id(0x000003e9)]
        HRESULT createRange([out, retval] IDispatch** range);
        [id(0x000003ea)]
        HRESULT empty();
        [id(0x000003eb)]
        HRESULT clear();
        [id(0x000003ec), propget]
        HRESULT type([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F7EC-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLSelectionObject2 : IDispatch {
        [id(0x000003ed)]
        HRESULT createRangeCollection([out, retval] IDispatch** rangeCollection);
        [id(0x000003ee), propget]
        HRESULT typeDetail([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLOptionElement : IDispatch {
        [id(0x000003e9), propput]
        HRESULT selected([in] VARIANT_BOOL p);
        [id(0x000003e9), propget]
        HRESULT selected([out, retval] VARIANT_BOOL* p);
        [id(0x000003ea), propput]
        HRESULT value([in] BSTR p);
        [id(0x000003ea), propget]
        HRESULT value([out, retval] BSTR* p);
        [id(0x000003eb), propput]
        HRESULT defaultSelected([in] VARIANT_BOOL p);
        [id(0x000003eb), propget]
        HRESULT defaultSelected([out, retval] VARIANT_BOOL* p);
        [id(0x000003ed), propput]
        HRESULT index([in] long p);
        [id(0x000003ed), propget]
        HRESULT index([out, retval] long* p);
        [id(0x000003ec), propput]
        HRESULT text([in] BSTR p);
        [id(0x000003ec), propget]
        HRESULT text([out, retval] BSTR* p);
        [id(0x000003ee), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
    };

    [
      odl,
      uuid(3050F820-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLOptionElement3 : IDispatch {
        [id(0x000003ef), propput, bindable, displaybind]
        HRESULT label([in] BSTR p);
        [id(0x000003ef), propget, bindable, displaybind]
        HRESULT label([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F38C-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLOptionElementFactory : IDispatch {
        [id(00000000)]
        HRESULT create(
                        [in, optional] VARIANT text, 
                        [in, optional] VARIANT value, 
                        [in, optional] VARIANT defaultSelected, 
                        [in, optional] VARIANT selected, 
                        [out, retval] IHTMLOptionElement** __MIDL_0012);
    };

    [
      uuid(3050F52B-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLOptionElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000003e9), propput]
            void selected(VARIANT_BOOL rhs);
            [id(0x000003e9), propget]
            VARIANT_BOOL selected();
            [id(0x000003ea), propput]
            void value(BSTR rhs);
            [id(0x000003ea), propget]
            BSTR value();
            [id(0x000003eb), propput]
            void defaultSelected(VARIANT_BOOL rhs);
            [id(0x000003eb), propget]
            VARIANT_BOOL defaultSelected();
            [id(0x000003ed), propput]
            void index(long rhs);
            [id(0x000003ed), propget]
            long index();
            [id(0x000003ec), propput]
            void text(BSTR rhs);
            [id(0x000003ec), propget]
            BSTR text();
            [id(0x000003ee), propget]
            IHTMLFormElement* form();
            [id(0x000003ef), propput, bindable, displaybind]
            void label(BSTR rhs);
            [id(0x000003ef), propget, bindable, displaybind]
            BSTR label();
    };

    [
      uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLOptionElement {
        [default] dispinterface DispHTMLOptionElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLOptionElement;
        interface IHTMLOptionElement3;
    };

    [
      uuid(3050F38D-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLOptionElementFactory {
        [default] interface IHTMLOptionElementFactory;
    };

    [
      uuid(3050F617-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLButtonElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F2B3-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLButtonElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
    };

    [
      uuid(3050F618-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLInputTextElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e9)]
            VARIANT_BOOL onchange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ee)]
            void onselect([in] IHTMLEventObj* pEvtObj);
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e8)]
            void onabort([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F619-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLOptionButtonElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e9)]
            VARIANT_BOOL onchange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ee)]
            void onselect([in] IHTMLEventObj* pEvtObj);
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e8)]
            void onabort([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F61A-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLInputFileElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e9)]
            VARIANT_BOOL onchange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ee)]
            void onselect([in] IHTMLEventObj* pEvtObj);
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e8)]
            void onabort([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F61B-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLInputImageEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e8)]
            void onabort([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F2A7-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLInputTextElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003e9)]
            VARIANT_BOOL onchange();
            [id(0x000003ee)]
            void onselect();
            [id(0x000003eb)]
            void onload();
            [id(0x000003ea)]
            void onerror();
            [id(0x000003e8)]
            void onabort();
    };

    [
      uuid(3050F2BD-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLOptionButtonElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003e9)]
            VARIANT_BOOL onchange();
            [id(0x000003ee)]
            void onselect();
            [id(0x000003eb)]
            void onload();
            [id(0x000003ea)]
            void onerror();
            [id(0x000003e8)]
            void onabort();
    };

    [
      uuid(3050F2AF-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLInputFileElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003e9)]
            VARIANT_BOOL onchange();
            [id(0x000003ee)]
            void onselect();
            [id(0x000003eb)]
            void onload();
            [id(0x000003ea)]
            void onerror();
            [id(0x000003e8)]
            void onabort();
    };

    [
      uuid(3050F2C3-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLInputImageEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003eb)]
            void onload();
            [id(0x000003ea)]
            void onerror();
            [id(0x000003e8)]
            void onabort();
    };

    [
      odl,
      uuid(3050F5D2-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLInputElement : IDispatch {
        [id(0x000007d0), propput]
        HRESULT type([in] BSTR p);
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800113ed), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x800113ed), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000007d1), propput]
        HRESULT status([in] VARIANT_BOOL p);
        [id(0x000007d1), propget]
        HRESULT status([out, retval] VARIANT_BOOL* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x000007d2), propput, bindable, displaybind]
        HRESULT size([in] long p);
        [id(0x000007d2), propget, bindable, displaybind]
        HRESULT size([out, retval] long* p);
        [id(0x000007d3), propput, bindable, displaybind]
        HRESULT maxLength([in] long p);
        [id(0x000007d3), propget, bindable, displaybind]
        HRESULT maxLength([out, retval] long* p);
        [id(0x000007d4)]
        HRESULT select();
        [id(0x8001178e), propput, bindable, displaybind]
        HRESULT onchange([in] VARIANT p);
        [id(0x8001178e), propget, bindable, displaybind]
        HRESULT onchange([out, retval] VARIANT* p);
        [id(0x8001177a), propput, bindable, displaybind]
        HRESULT onselect([in] VARIANT p);
        [id(0x8001177a), propget, bindable, displaybind]
        HRESULT onselect([out, retval] VARIANT* p);
        [id(0x800113db), propput, bindable, displaybind, hidden]
        HRESULT defaultValue([in] BSTR p);
        [id(0x800113db), propget, bindable, displaybind, hidden]
        HRESULT defaultValue([out, retval] BSTR* p);
        [id(0x000007d5), propput, bindable, displaybind]
        HRESULT readOnly([in] VARIANT_BOOL p);
        [id(0x000007d5), propget, bindable, displaybind]
        HRESULT readOnly([out, retval] VARIANT_BOOL* p);
        [id(0x000007d6)]
        HRESULT createTextRange([out, retval] IHTMLTxtRange** range);
        [id(0x000007d7), propput, bindable]
        HRESULT indeterminate([in] VARIANT_BOOL p);
        [id(0x000007d7), propget, bindable]
        HRESULT indeterminate([out, retval] VARIANT_BOOL* p);
        [id(0x000007d8), propput, bindable]
        HRESULT defaultChecked([in] VARIANT_BOOL p);
        [id(0x000007d8), propget, bindable]
        HRESULT defaultChecked([out, retval] VARIANT_BOOL* p);
        [id(0x000007d9), propput, bindable]
        HRESULT checked([in] VARIANT_BOOL p);
        [id(0x000007d9), propget, bindable]
        HRESULT checked([out, retval] VARIANT_BOOL* p);
        [id(0x000007dc), propput, bindable, displaybind]
        HRESULT border([in] VARIANT p);
        [id(0x000007dc), propget, bindable, displaybind]
        HRESULT border([out, retval] VARIANT* p);
        [id(0x000007dd), propput, bindable, displaybind]
        HRESULT vspace([in] long p);
        [id(0x000007dd), propget, bindable, displaybind]
        HRESULT vspace([out, retval] long* p);
        [id(0x000007de), propput, bindable, displaybind]
        HRESULT hspace([in] long p);
        [id(0x000007de), propget, bindable, displaybind]
        HRESULT hspace([out, retval] long* p);
        [id(0x000007da), propput, bindable, displaybind]
        HRESULT alt([in] BSTR p);
        [id(0x000007da), propget, bindable, displaybind]
        HRESULT alt([out, retval] BSTR* p);
        [id(0x000007db), propput, bindable, displaybind]
        HRESULT src([in] BSTR p);
        [id(0x000007db), propget, bindable, displaybind]
        HRESULT src([out, retval] BSTR* p);
        [id(0x000007df), propput, bindable, displaybind]
        HRESULT lowsrc([in] BSTR p);
        [id(0x000007df), propget, bindable, displaybind]
        HRESULT lowsrc([out, retval] BSTR* p);
        [id(0x000007e0), propput, bindable, displaybind]
        HRESULT vrml([in] BSTR p);
        [id(0x000007e0), propget, bindable, displaybind]
        HRESULT vrml([out, retval] BSTR* p);
        [id(0x000007e1), propput, bindable, displaybind]
        HRESULT dynsrc([in] BSTR p);
        [id(0x000007e1), propget, bindable, displaybind]
        HRESULT dynsrc([out, retval] BSTR* p);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x000007e2), propget]
        HRESULT complete([out, retval] VARIANT_BOOL* p);
        [id(0x000007e3), propput, bindable, displaybind]
        HRESULT loop([in] VARIANT p);
        [id(0x000007e3), propget, bindable, displaybind]
        HRESULT loop([out, retval] VARIANT* p);
        [id(0x80010049), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x8001178d), propput, bindable, displaybind]
        HRESULT onerror([in] VARIANT p);
        [id(0x8001178d), propget, bindable, displaybind]
        HRESULT onerror([out, retval] VARIANT* p);
        [id(0x8001178c), propput, bindable, displaybind]
        HRESULT onabort([in] VARIANT p);
        [id(0x8001178c), propget, bindable, displaybind]
        HRESULT onabort([out, retval] VARIANT* p);
        [id(0x80010005), propput]
        HRESULT width([in] long p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] long* p);
        [id(0x80010006), propput]
        HRESULT height([in] long p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] long* p);
        [id(0x000007e4), propput, bindable, displaybind]
        HRESULT Start([in] BSTR p);
        [id(0x000007e4), propget, bindable, displaybind]
        HRESULT Start([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F821-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLInputElement2 : IDispatch {
        [id(0x000007e6), propput, bindable, displaybind]
        HRESULT accept([in] BSTR p);
        [id(0x000007e6), propget, bindable, displaybind]
        HRESULT accept([out, retval] BSTR* p);
        [id(0x000007e7), propput, bindable, displaybind]
        HRESULT useMap([in] BSTR p);
        [id(0x000007e7), propget, bindable, displaybind]
        HRESULT useMap([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F2B2-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLInputButtonElement : IDispatch {
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800113ed), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x800113ed), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000007e5), propput]
        HRESULT status([in] VARIANT p);
        [id(0x000007e5), propget]
        HRESULT status([out, retval] VARIANT* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x000007d6)]
        HRESULT createTextRange([out, retval] IHTMLTxtRange** range);
    };

    [
      odl,
      uuid(3050F2A4-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLInputHiddenElement : IDispatch {
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800113ed), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x800113ed), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000007e5), propput]
        HRESULT status([in] VARIANT p);
        [id(0x000007e5), propget]
        HRESULT status([out, retval] VARIANT* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x000007d6)]
        HRESULT createTextRange([out, retval] IHTMLTxtRange** range);
    };

    [
      odl,
      uuid(3050F2A6-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLInputTextElement : IDispatch {
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800113ed), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x800113ed), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000007e5), propput]
        HRESULT status([in] VARIANT p);
        [id(0x000007e5), propget]
        HRESULT status([out, retval] VARIANT* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x800113db), propput, bindable, displaybind, hidden]
        HRESULT defaultValue([in] BSTR p);
        [id(0x800113db), propget, bindable, displaybind, hidden]
        HRESULT defaultValue([out, retval] BSTR* p);
        [id(0x000007d2), propput, bindable, displaybind]
        HRESULT size([in] long p);
        [id(0x000007d2), propget, bindable, displaybind]
        HRESULT size([out, retval] long* p);
        [id(0x000007d3), propput, bindable, displaybind]
        HRESULT maxLength([in] long p);
        [id(0x000007d3), propget, bindable, displaybind]
        HRESULT maxLength([out, retval] long* p);
        [id(0x000007d4)]
        HRESULT select();
        [id(0x8001178e), propput, bindable, displaybind]
        HRESULT onchange([in] VARIANT p);
        [id(0x8001178e), propget, bindable, displaybind]
        HRESULT onchange([out, retval] VARIANT* p);
        [id(0x8001177a), propput, bindable, displaybind]
        HRESULT onselect([in] VARIANT p);
        [id(0x8001177a), propget, bindable, displaybind]
        HRESULT onselect([out, retval] VARIANT* p);
        [id(0x000007d5), propput, bindable, displaybind]
        HRESULT readOnly([in] VARIANT_BOOL p);
        [id(0x000007d5), propget, bindable, displaybind]
        HRESULT readOnly([out, retval] VARIANT_BOOL* p);
        [id(0x000007d6)]
        HRESULT createTextRange([out, retval] IHTMLTxtRange** range);
    };

    [
      odl,
      uuid(3050F2AD-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLInputFileElement : IDispatch {
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000007e5), propput]
        HRESULT status([in] VARIANT p);
        [id(0x000007e5), propget]
        HRESULT status([out, retval] VARIANT* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x000007d2), propput, bindable, displaybind]
        HRESULT size([in] long p);
        [id(0x000007d2), propget, bindable, displaybind]
        HRESULT size([out, retval] long* p);
        [id(0x000007d3), propput, bindable, displaybind]
        HRESULT maxLength([in] long p);
        [id(0x000007d3), propget, bindable, displaybind]
        HRESULT maxLength([out, retval] long* p);
        [id(0x000007d4)]
        HRESULT select();
        [id(0x8001178e), propput, bindable, displaybind]
        HRESULT onchange([in] VARIANT p);
        [id(0x8001178e), propget, bindable, displaybind]
        HRESULT onchange([out, retval] VARIANT* p);
        [id(0x8001177a), propput, bindable, displaybind]
        HRESULT onselect([in] VARIANT p);
        [id(0x8001177a), propget, bindable, displaybind]
        HRESULT onselect([out, retval] VARIANT* p);
        [id(0x800113ed), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x800113ed), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F2BC-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLOptionButtonElement : IDispatch {
        [id(0x800113ed), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x800113ed), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000007d9), propput, bindable]
        HRESULT checked([in] VARIANT_BOOL p);
        [id(0x000007d9), propget, bindable]
        HRESULT checked([out, retval] VARIANT_BOOL* p);
        [id(0x000007d8), propput, bindable]
        HRESULT defaultChecked([in] VARIANT_BOOL p);
        [id(0x000007d8), propget, bindable]
        HRESULT defaultChecked([out, retval] VARIANT_BOOL* p);
        [id(0x8001178e), propput, bindable, displaybind]
        HRESULT onchange([in] VARIANT p);
        [id(0x8001178e), propget, bindable, displaybind]
        HRESULT onchange([out, retval] VARIANT* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x000007d1), propput]
        HRESULT status([in] VARIANT_BOOL p);
        [id(0x000007d1), propget]
        HRESULT status([out, retval] VARIANT_BOOL* p);
        [id(0x000007d7), propput, bindable]
        HRESULT indeterminate([in] VARIANT_BOOL p);
        [id(0x000007d7), propget, bindable]
        HRESULT indeterminate([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
    };

    [
      odl,
      uuid(3050F2C2-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLInputImage : IDispatch {
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x000007dc), propput, bindable, displaybind]
        HRESULT border([in] VARIANT p);
        [id(0x000007dc), propget, bindable, displaybind]
        HRESULT border([out, retval] VARIANT* p);
        [id(0x000007dd), propput, bindable, displaybind]
        HRESULT vspace([in] long p);
        [id(0x000007dd), propget, bindable, displaybind]
        HRESULT vspace([out, retval] long* p);
        [id(0x000007de), propput, bindable, displaybind]
        HRESULT hspace([in] long p);
        [id(0x000007de), propget, bindable, displaybind]
        HRESULT hspace([out, retval] long* p);
        [id(0x000007da), propput, bindable, displaybind]
        HRESULT alt([in] BSTR p);
        [id(0x000007da), propget, bindable, displaybind]
        HRESULT alt([out, retval] BSTR* p);
        [id(0x000007db), propput, bindable, displaybind]
        HRESULT src([in] BSTR p);
        [id(0x000007db), propget, bindable, displaybind]
        HRESULT src([out, retval] BSTR* p);
        [id(0x000007df), propput, bindable, displaybind]
        HRESULT lowsrc([in] BSTR p);
        [id(0x000007df), propget, bindable, displaybind]
        HRESULT lowsrc([out, retval] BSTR* p);
        [id(0x000007e0), propput, bindable, displaybind]
        HRESULT vrml([in] BSTR p);
        [id(0x000007e0), propget, bindable, displaybind]
        HRESULT vrml([out, retval] BSTR* p);
        [id(0x000007e1), propput, bindable, displaybind]
        HRESULT dynsrc([in] BSTR p);
        [id(0x000007e1), propget, bindable, displaybind]
        HRESULT dynsrc([out, retval] BSTR* p);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x000007e2), propget]
        HRESULT complete([out, retval] VARIANT_BOOL* p);
        [id(0x000007e3), propput, bindable, displaybind]
        HRESULT loop([in] VARIANT p);
        [id(0x000007e3), propget, bindable, displaybind]
        HRESULT loop([out, retval] VARIANT* p);
        [id(0x80010049), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x8001178d), propput, bindable, displaybind]
        HRESULT onerror([in] VARIANT p);
        [id(0x8001178d), propget, bindable, displaybind]
        HRESULT onerror([out, retval] VARIANT* p);
        [id(0x8001178c), propput, bindable, displaybind]
        HRESULT onabort([in] VARIANT p);
        [id(0x8001178c), propget, bindable, displaybind]
        HRESULT onabort([out, retval] VARIANT* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x80010005), propput]
        HRESULT width([in] long p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] long* p);
        [id(0x80010006), propput]
        HRESULT height([in] long p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] long* p);
        [id(0x000007e4), propput, bindable, displaybind]
        HRESULT Start([in] BSTR p);
        [id(0x000007e4), propget, bindable, displaybind]
        HRESULT Start([out, retval] BSTR* p);
    };

    [
      uuid(3050F57D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLInputElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000007d0), propput]
            void type(BSTR rhs);
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x800113ed), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x800113ed), propget, bindable, displaybind]
            BSTR value();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000007d1), propput]
            void status(VARIANT_BOOL rhs);
            [id(0x000007d1), propget]
            VARIANT_BOOL status();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x000007d2), propput, bindable, displaybind]
            void size(long rhs);
            [id(0x000007d2), propget, bindable, displaybind]
            long size();
            [id(0x000007d3), propput, bindable, displaybind]
            void maxLength(long rhs);
            [id(0x000007d3), propget, bindable, displaybind]
            long maxLength();
            [id(0x000007d4)]
            void select();
            [id(0x8001178e), propput, bindable, displaybind]
            void onchange(VARIANT rhs);
            [id(0x8001178e), propget, bindable, displaybind]
            VARIANT onchange();
            [id(0x8001177a), propput, bindable, displaybind]
            void onselect(VARIANT rhs);
            [id(0x8001177a), propget, bindable, displaybind]
            VARIANT onselect();
            [id(0x800113db), propput, bindable, displaybind, hidden]
            void defaultValue(BSTR rhs);
            [id(0x800113db), propget, bindable, displaybind, hidden]
            BSTR defaultValue();
            [id(0x000007d5), propput, bindable, displaybind]
            void readOnly(VARIANT_BOOL rhs);
            [id(0x000007d5), propget, bindable, displaybind]
            VARIANT_BOOL readOnly();
            [id(0x000007d6)]
            IHTMLTxtRange* createTextRange();
            [id(0x000007d7), propput, bindable]
            void indeterminate(VARIANT_BOOL rhs);
            [id(0x000007d7), propget, bindable]
            VARIANT_BOOL indeterminate();
            [id(0x000007d8), propput, bindable]
            void defaultChecked(VARIANT_BOOL rhs);
            [id(0x000007d8), propget, bindable]
            VARIANT_BOOL defaultChecked();
            [id(0x000007d9), propput, bindable]
            void checked(VARIANT_BOOL rhs);
            [id(0x000007d9), propget, bindable]
            VARIANT_BOOL checked();
            [id(0x000007dc), propput, bindable, displaybind]
            void border(VARIANT rhs);
            [id(0x000007dc), propget, bindable, displaybind]
            VARIANT border();
            [id(0x000007dd), propput, bindable, displaybind]
            void vspace(long rhs);
            [id(0x000007dd), propget, bindable, displaybind]
            long vspace();
            [id(0x000007de), propput, bindable, displaybind]
            void hspace(long rhs);
            [id(0x000007de), propget, bindable, displaybind]
            long hspace();
            [id(0x000007da), propput, bindable, displaybind]
            void alt(BSTR rhs);
            [id(0x000007da), propget, bindable, displaybind]
            BSTR alt();
            [id(0x000007db), propput, bindable, displaybind]
            void src(BSTR rhs);
            [id(0x000007db), propget, bindable, displaybind]
            BSTR src();
            [id(0x000007df), propput, bindable, displaybind]
            void lowsrc(BSTR rhs);
            [id(0x000007df), propget, bindable, displaybind]
            BSTR lowsrc();
            [id(0x000007e0), propput, bindable, displaybind]
            void vrml(BSTR rhs);
            [id(0x000007e0), propget, bindable, displaybind]
            BSTR vrml();
            [id(0x000007e1), propput, bindable, displaybind]
            void dynsrc(BSTR rhs);
            [id(0x000007e1), propget, bindable, displaybind]
            BSTR dynsrc();
            [id(0x000007e2), propget]
            VARIANT_BOOL complete();
            [id(0x000007e3), propput, bindable, displaybind]
            void loop(VARIANT rhs);
            [id(0x000007e3), propget, bindable, displaybind]
            VARIANT loop();
            [id(0x80010049), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010049), propget, bindable, displaybind]
            BSTR align();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x8001178c), propput, bindable, displaybind]
            void onabort(VARIANT rhs);
            [id(0x8001178c), propget, bindable, displaybind]
            VARIANT onabort();
            [id(0x80010005), propput]
            void width(long rhs);
            [id(0x80010005), propget]
            long width();
            [id(0x80010006), propput]
            void height(long rhs);
            [id(0x80010006), propget]
            long height();
            [id(0x000007e4), propput, bindable, displaybind]
            void Start(BSTR rhs);
            [id(0x000007e4), propget, bindable, displaybind]
            BSTR Start();
            [id(0x000007e6), propput, bindable, displaybind]
            void accept(BSTR rhs);
            [id(0x000007e6), propget, bindable, displaybind]
            BSTR accept();
            [id(0x000007e7), propput, bindable, displaybind]
            void useMap(BSTR rhs);
            [id(0x000007e7), propget, bindable, displaybind]
            BSTR useMap();
    };

    [
      uuid(3050F5D8-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLInputElement {
        [default] dispinterface DispHTMLInputElement;
        [default, source] dispinterface HTMLInputTextElementEvents;
        [source] dispinterface HTMLInputTextElementEvents2;
        [source] dispinterface HTMLOptionButtonElementEvents;
        [source] dispinterface HTMLButtonElementEvents;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLInputElement;
        interface IHTMLInputElement2;
        interface IHTMLInputTextElement;
        interface IHTMLInputHiddenElement;
        interface IHTMLInputButtonElement;
        interface IHTMLInputFileElement;
        interface IHTMLOptionButtonElement;
        interface IHTMLInputImage;
    };

    [
      odl,
      uuid(3050F2AA-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTextAreaElement : IDispatch {
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800113ed), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x800113ed), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000007d1), propput]
        HRESULT status([in] VARIANT p);
        [id(0x000007d1), propget]
        HRESULT status([out, retval] VARIANT* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x800113db), propput, bindable, displaybind, hidden]
        HRESULT defaultValue([in] BSTR p);
        [id(0x800113db), propget, bindable, displaybind, hidden]
        HRESULT defaultValue([out, retval] BSTR* p);
        [id(0x00001b5d)]
        HRESULT select();
        [id(0x8001178e), propput, bindable, displaybind]
        HRESULT onchange([in] VARIANT p);
        [id(0x8001178e), propget, bindable, displaybind]
        HRESULT onchange([out, retval] VARIANT* p);
        [id(0x8001177a), propput, bindable, displaybind]
        HRESULT onselect([in] VARIANT p);
        [id(0x8001177a), propget, bindable, displaybind]
        HRESULT onselect([out, retval] VARIANT* p);
        [id(0x00001b5c), propput, bindable, displaybind]
        HRESULT readOnly([in] VARIANT_BOOL p);
        [id(0x00001b5c), propget, bindable, displaybind]
        HRESULT readOnly([out, retval] VARIANT_BOOL* p);
        [id(0x00001b59), propput, bindable, displaybind]
        HRESULT rows([in] long p);
        [id(0x00001b59), propget, bindable, displaybind]
        HRESULT rows([out, retval] long* p);
        [id(0x00001b5a), propput, bindable, displaybind]
        HRESULT cols([in] long p);
        [id(0x00001b5a), propget, bindable, displaybind]
        HRESULT cols([out, retval] long* p);
        [id(0x00001b5b), propput, bindable, displaybind]
        HRESULT wrap([in] BSTR p);
        [id(0x00001b5b), propget, bindable, displaybind]
        HRESULT wrap([out, retval] BSTR* p);
        [id(0x00001b5e)]
        HRESULT createTextRange([out, retval] IHTMLTxtRange** range);
    };

    [
      uuid(3050F521-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTextAreaElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x800113ed), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x800113ed), propget, bindable, displaybind]
            BSTR value();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000007d1), propput]
            void status(VARIANT rhs);
            [id(0x000007d1), propget]
            VARIANT status();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x800113db), propput, bindable, displaybind, hidden]
            void defaultValue(BSTR rhs);
            [id(0x800113db), propget, bindable, displaybind, hidden]
            BSTR defaultValue();
            [id(0x00001b5d)]
            void select();
            [id(0x8001178e), propput, bindable, displaybind]
            void onchange(VARIANT rhs);
            [id(0x8001178e), propget, bindable, displaybind]
            VARIANT onchange();
            [id(0x8001177a), propput, bindable, displaybind]
            void onselect(VARIANT rhs);
            [id(0x8001177a), propget, bindable, displaybind]
            VARIANT onselect();
            [id(0x00001b5c), propput, bindable, displaybind]
            void readOnly(VARIANT_BOOL rhs);
            [id(0x00001b5c), propget, bindable, displaybind]
            VARIANT_BOOL readOnly();
            [id(0x00001b59), propput, bindable, displaybind]
            void rows(long rhs);
            [id(0x00001b59), propget, bindable, displaybind]
            long rows();
            [id(0x00001b5a), propput, bindable, displaybind]
            void cols(long rhs);
            [id(0x00001b5a), propget, bindable, displaybind]
            long cols();
            [id(0x00001b5b), propput, bindable, displaybind]
            void wrap(BSTR rhs);
            [id(0x00001b5b), propget, bindable, displaybind]
            BSTR wrap();
            [id(0x00001b5e)]
            IHTMLTxtRange* createTextRange();
    };

    [
      uuid(3050F2AC-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTextAreaElement {
        [default] dispinterface DispHTMLTextAreaElement;
        [default, source] dispinterface HTMLInputTextElementEvents;
        [source] dispinterface HTMLInputTextElementEvents2;
        [source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLTextAreaElement;
    };

    [
      uuid(3050F54D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLRichtextElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x800113ed), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x800113ed), propget, bindable, displaybind]
            BSTR value();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000007d1), propput]
            void status(VARIANT rhs);
            [id(0x000007d1), propget]
            VARIANT status();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x800113db), propput, bindable, displaybind, hidden]
            void defaultValue(BSTR rhs);
            [id(0x800113db), propget, bindable, displaybind, hidden]
            BSTR defaultValue();
            [id(0x00001b5d)]
            void select();
            [id(0x8001178e), propput, bindable, displaybind]
            void onchange(VARIANT rhs);
            [id(0x8001178e), propget, bindable, displaybind]
            VARIANT onchange();
            [id(0x8001177a), propput, bindable, displaybind]
            void onselect(VARIANT rhs);
            [id(0x8001177a), propget, bindable, displaybind]
            VARIANT onselect();
            [id(0x00001b5c), propput, bindable, displaybind]
            void readOnly(VARIANT_BOOL rhs);
            [id(0x00001b5c), propget, bindable, displaybind]
            VARIANT_BOOL readOnly();
            [id(0x00001b59), propput, bindable, displaybind]
            void rows(long rhs);
            [id(0x00001b59), propget, bindable, displaybind]
            long rows();
            [id(0x00001b5a), propput, bindable, displaybind]
            void cols(long rhs);
            [id(0x00001b5a), propget, bindable, displaybind]
            long cols();
            [id(0x00001b5b), propput, bindable, displaybind]
            void wrap(BSTR rhs);
            [id(0x00001b5b), propget, bindable, displaybind]
            BSTR wrap();
            [id(0x00001b5e)]
            IHTMLTxtRange* createTextRange();
    };

    [
      uuid(3050F2DF-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLRichtextElement {
        [default] dispinterface DispHTMLRichtextElement;
        [default, source] dispinterface HTMLInputTextElementEvents;
        [source] dispinterface HTMLInputTextElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLTextAreaElement;
    };

    [
      odl,
      uuid(3050F2BB-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLButtonElement : IDispatch {
        [id(0x000007d0), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800113ed), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x800113ed), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x00001f41), propput]
        HRESULT status([in] VARIANT p);
        [id(0x00001f41), propget]
        HRESULT status([out, retval] VARIANT* p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x00001f42)]
        HRESULT createTextRange([out, retval] IHTMLTxtRange** range);
    };

    [
      uuid(3050F51F-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLButtonElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x800113ed), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x800113ed), propget, bindable, displaybind]
            BSTR value();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x00001f41), propput]
            void status(VARIANT rhs);
            [id(0x00001f41), propget]
            VARIANT status();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x00001f42)]
            IHTMLTxtRange* createTextRange();
    };

    [
      uuid(3050F2C6-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLButtonElement {
        [default] dispinterface DispHTMLButtonElement;
        [default, source] dispinterface HTMLButtonElementEvents;
        [source] dispinterface HTMLButtonElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLButtonElement;
    };

    [
      uuid(3050F61F-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLMarqueeElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003e9)]
            void onchange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ee)]
            void onselect([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f1)]
            void onbounce([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f2)]
            void onfinish([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f3)]
            void onstart([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F2B8-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLMarqueeElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003e9)]
            void onchange();
            [id(0x000003ee)]
            void onselect();
            [id(0x000003f1)]
            void onbounce();
            [id(0x000003f2)]
            void onfinish();
            [id(0x000003f3)]
            void onstart();
    };

    typedef enum {
        htmlMarqueeBehaviorscroll = 1,
        htmlMarqueeBehaviorslide = 2,
        htmlMarqueeBehavioralternate = 3,
        htmlMarqueeBehavior_Max = 0x7fffffff
    } _htmlMarqueeBehavior;

    typedef enum {
        htmlMarqueeDirectionleft = 1,
        htmlMarqueeDirectionright = 3,
        htmlMarqueeDirectionup = 5,
        htmlMarqueeDirectiondown = 7,
        htmlMarqueeDirection_Max = 0x7fffffff
    } _htmlMarqueeDirection;

    [
      odl,
      uuid(3050F2B5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLMarqueeElement : IDispatch {
        [id(0xfffffe0b), propput]
        HRESULT bgColor([in] VARIANT p);
        [id(0xfffffe0b), propget]
        HRESULT bgColor([out, retval] VARIANT* p);
        [id(0x00001770), propput]
        HRESULT scrollDelay([in] long p);
        [id(0x00001770), propget]
        HRESULT scrollDelay([out, retval] long* p);
        [id(0x00001771), propput]
        HRESULT direction([in] BSTR p);
        [id(0x00001771), propget]
        HRESULT direction([out, retval] BSTR* p);
        [id(0x00001772), propput]
        HRESULT behavior([in] BSTR p);
        [id(0x00001772), propget]
        HRESULT behavior([out, retval] BSTR* p);
        [id(0x00001773), propput]
        HRESULT scrollAmount([in] long p);
        [id(0x00001773), propget]
        HRESULT scrollAmount([out, retval] long* p);
        [id(0x00001774), propput]
        HRESULT loop([in] long p);
        [id(0x00001774), propget]
        HRESULT loop([out, retval] long* p);
        [id(0x00001775), propput]
        HRESULT vspace([in] long p);
        [id(0x00001775), propget]
        HRESULT vspace([out, retval] long* p);
        [id(0x00001776), propput]
        HRESULT hspace([in] long p);
        [id(0x00001776), propget]
        HRESULT hspace([out, retval] long* p);
        [id(0x8001178a), propput, bindable, displaybind]
        HRESULT onfinish([in] VARIANT p);
        [id(0x8001178a), propget, bindable, displaybind]
        HRESULT onfinish([out, retval] VARIANT* p);
        [id(0x8001178b), propput, bindable, displaybind]
        HRESULT onstart([in] VARIANT p);
        [id(0x8001178b), propget, bindable, displaybind]
        HRESULT onstart([out, retval] VARIANT* p);
        [id(0x80011784), propput, bindable, displaybind]
        HRESULT onbounce([in] VARIANT p);
        [id(0x80011784), propget, bindable, displaybind]
        HRESULT onbounce([out, retval] VARIANT* p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propput]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x00001777), propput, bindable, displaybind]
        HRESULT trueSpeed([in] VARIANT_BOOL p);
        [id(0x00001777), propget, bindable, displaybind]
        HRESULT trueSpeed([out, retval] VARIANT_BOOL* p);
        [id(0x0000177a)]
        HRESULT Start();
        [id(0x0000177b)]
        HRESULT stop();
    };

    [
      uuid(3050F527-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLMarqueeElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0xfffffe0b), propput]
            void bgColor(VARIANT rhs);
            [id(0xfffffe0b), propget]
            VARIANT bgColor();
            [id(0x00001770), propput]
            void scrollDelay(long rhs);
            [id(0x00001770), propget]
            long scrollDelay();
            [id(0x00001771), propput]
            void direction(BSTR rhs);
            [id(0x00001771), propget]
            BSTR direction();
            [id(0x00001772), propput]
            void behavior(BSTR rhs);
            [id(0x00001772), propget]
            BSTR behavior();
            [id(0x00001773), propput]
            void scrollAmount(long rhs);
            [id(0x00001773), propget]
            long scrollAmount();
            [id(0x00001774), propput]
            void loop(long rhs);
            [id(0x00001774), propget]
            long loop();
            [id(0x00001775), propput]
            void vspace(long rhs);
            [id(0x00001775), propget]
            long vspace();
            [id(0x00001776), propput]
            void hspace(long rhs);
            [id(0x00001776), propget]
            long hspace();
            [id(0x8001178a), propput, bindable, displaybind]
            void onfinish(VARIANT rhs);
            [id(0x8001178a), propget, bindable, displaybind]
            VARIANT onfinish();
            [id(0x8001178b), propput, bindable, displaybind]
            void onstart(VARIANT rhs);
            [id(0x8001178b), propget, bindable, displaybind]
            VARIANT onstart();
            [id(0x80011784), propput, bindable, displaybind]
            void onbounce(VARIANT rhs);
            [id(0x80011784), propget, bindable, displaybind]
            VARIANT onbounce();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
            [id(0x80010006), propput]
            void height(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT height();
            [id(0x00001777), propput, bindable, displaybind]
            void trueSpeed(VARIANT_BOOL rhs);
            [id(0x00001777), propget, bindable, displaybind]
            VARIANT_BOOL trueSpeed();
            [id(0x0000177a)]
            void Start();
            [id(0x0000177b)]
            void stop();
    };

    [
      uuid(3050F2B9-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLMarqueeElement {
        [default] dispinterface DispHTMLMarqueeElement;
        [default, source] dispinterface HTMLMarqueeElementEvents;
        [source] dispinterface HTMLMarqueeElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLMarqueeElement;
    };

    [
      odl,
      uuid(3050F81C-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLHtmlElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT version([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT version([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F81D-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLHeadElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT profile([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT profile([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F322-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTitleElement : IDispatch {
        [id(0x800113ed), propput, bindable]
        HRESULT text([in] BSTR p);
        [id(0x800113ed), propget, bindable]
        HRESULT text([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F203-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLMetaElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT httpEquiv([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT httpEquiv([out, retval] BSTR* p);
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT content([in] BSTR p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT content([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT url([in] BSTR p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT url([out, retval] BSTR* p);
        [id(0x000003f5), propput, bindable, displaybind]
        HRESULT charset([in] BSTR p);
        [id(0x000003f5), propget, bindable, displaybind]
        HRESULT charset([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F81F-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLMetaElement2 : IDispatch {
        [id(0x000003fc), propput, bindable, displaybind]
        HRESULT scheme([in] BSTR p);
        [id(0x000003fc), propget, bindable, displaybind]
        HRESULT scheme([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F204-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBaseElement : IDispatch {
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT href([in] BSTR p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT href([out, retval] BSTR* p);
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT target([in] BSTR p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT target([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F206-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLIsIndexElement : IDispatch {
        [id(0x000003f2), propput, bindable, displaybind]
        HRESULT prompt([in] BSTR p);
        [id(0x000003f2), propget, bindable, displaybind]
        HRESULT prompt([out, retval] BSTR* p);
        [id(0x000003f3), propput, bindable, displaybind]
        HRESULT action([in] BSTR p);
        [id(0x000003f3), propget, bindable, displaybind]
        HRESULT action([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F82F-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLIsIndexElement2 : IDispatch {
        [id(0x000003f4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
    };

    [
      odl,
      uuid(3050F207-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLNextIdElement : IDispatch {
        [id(0x000003f4), propput, bindable, displaybind]
        HRESULT n([in] BSTR p);
        [id(0x000003f4), propget, bindable, displaybind]
        HRESULT n([out, retval] BSTR* p);
    };

    [
      uuid(3050F560-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLHtmlElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void version(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR version();
    };

    [
      uuid(3050F491-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLHtmlElement {
        [default] dispinterface DispHTMLHtmlElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLHtmlElement;
    };

    [
      uuid(3050F561-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLHeadElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void profile(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR profile();
    };

    [
      uuid(3050F493-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLHeadElement {
        [default] dispinterface DispHTMLHeadElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLHeadElement;
    };

    [
      uuid(3050F516-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTitleElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800113ed), propput, bindable]
            void text(BSTR rhs);
            [id(0x800113ed), propget, bindable]
            BSTR text();
    };

    [
      uuid(3050F284-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTitleElement {
        [default] dispinterface DispHTMLTitleElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLTitleElement;
    };

    [
      uuid(3050F517-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLMetaElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void httpEquiv(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR httpEquiv();
            [id(0x000003ea), propput, bindable, displaybind]
            void content(BSTR rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            BSTR content();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000003eb), propput, bindable, displaybind]
            void url(BSTR rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            BSTR url();
            [id(0x000003f5), propput, bindable, displaybind]
            void charset(BSTR rhs);
            [id(0x000003f5), propget, bindable, displaybind]
            BSTR charset();
            [id(0x000003fc), propput, bindable, displaybind]
            void scheme(BSTR rhs);
            [id(0x000003fc), propget, bindable, displaybind]
            BSTR scheme();
    };

    [
      uuid(3050F275-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLMetaElement {
        [default] dispinterface DispHTMLMetaElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLMetaElement;
        interface IHTMLMetaElement2;
    };

    [
      uuid(3050F518-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLBaseElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003eb), propput, bindable, displaybind]
            void href(BSTR rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            BSTR href();
            [id(0x000003ec), propput, bindable, displaybind]
            void target(BSTR rhs);
            [id(0x000003ec), propget, bindable, displaybind]
            BSTR target();
    };

    [
      uuid(3050F276-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLBaseElement {
        [default] dispinterface DispHTMLBaseElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLBaseElement;
    };

    [
      uuid(3050F519-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLIsIndexElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003f2), propput, bindable, displaybind]
            void prompt(BSTR rhs);
            [id(0x000003f2), propget, bindable, displaybind]
            BSTR prompt();
            [id(0x000003f3), propput, bindable, displaybind]
            void action(BSTR rhs);
            [id(0x000003f3), propget, bindable, displaybind]
            BSTR action();
            [id(0x000003f4), propget]
            IHTMLFormElement* form();
    };

    [
      uuid(3050F278-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLIsIndexElement {
        [default] dispinterface DispHTMLIsIndexElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLIsIndexElement;
        interface IHTMLIsIndexElement2;
    };

    [
      uuid(3050F51A-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLNextIdElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003f4), propput, bindable, displaybind]
            void n(BSTR rhs);
            [id(0x000003f4), propget, bindable, displaybind]
            BSTR n();
    };

    [
      uuid(3050F279-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLNextIdElement {
        [default] dispinterface DispHTMLNextIdElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLNextIdElement;
    };

    [
      odl,
      uuid(3050F202-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBaseFontElement : IDispatch {
        [id(0x8001138a), propput, bindable, displaybind]
        HRESULT color([in] VARIANT p);
        [id(0x8001138a), propget, bindable, displaybind]
        HRESULT color([out, retval] VARIANT* p);
        [id(0x8001139a), propput, bindable, displaybind]
        HRESULT face([in] BSTR p);
        [id(0x8001139a), propget, bindable, displaybind]
        HRESULT face([out, retval] BSTR* p);
        [id(0x800113a2), propput, bindable, displaybind]
        HRESULT size([in] long p);
        [id(0x800113a2), propget, bindable, displaybind]
        HRESULT size([out, retval] long* p);
    };

    [
      uuid(3050F504-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLBaseFontElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x8001138a), propput, bindable, displaybind]
            void color(VARIANT rhs);
            [id(0x8001138a), propget, bindable, displaybind]
            VARIANT color();
            [id(0x8001139a), propput, bindable, displaybind]
            void face(BSTR rhs);
            [id(0x8001139a), propget, bindable, displaybind]
            BSTR face();
            [id(0x800113a2), propput, bindable, displaybind]
            void size(long rhs);
            [id(0x800113a2), propget, bindable, displaybind]
            long size();
    };

    [
      uuid(3050F282-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLBaseFontElement {
        [default] dispinterface DispHTMLBaseFontElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLBaseFontElement;
    };

    [
      odl,
      uuid(3050F209-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLUnknownElement : IDispatch {
    };

    [
      uuid(3050F539-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLUnknownElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
    };

    [
      uuid(3050F268-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLUnknownElement {
        [default] dispinterface DispHTMLUnknownElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLUnknownElement;
    };

    [
      odl,
      uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6),
      dual,
      oleautomation
    ]
    interface IOmHistory : IDispatch {
        [id(0x00000001), propget]
        HRESULT length([out, retval] short* p);
        [id(0x00000002)]
        HRESULT back([in, optional] VARIANT* pvargdistance);
        [id(0x00000003)]
        HRESULT forward([in, optional] VARIANT* pvargdistance);
        [id(0x00000004)]
        HRESULT go([in, optional] VARIANT* pvargdistance);
    };

    [
      odl,
      uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLMimeTypesCollection : IDispatch {
        [id(0x00000001), propget]
        HRESULT length([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLPluginsCollection : IDispatch {
        [id(0x00000001), propget]
        HRESULT length([out, retval] long* p);
        [id(0x00000002)]
        HRESULT refresh([in, optional, defaultvalue(0)] VARIANT_BOOL reload);
    };

    [
      odl,
      uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLOpsProfile : IDispatch {
        [id(0x00000001)]
        HRESULT addRequest(
                        [in] BSTR name, 
                        [in, optional] VARIANT reserved, 
                        [out, retval] VARIANT_BOOL* Success);
        [id(0x00000002)]
        HRESULT clearRequest();
        [id(0x00000003)]
        HRESULT doRequest(
                        [in] VARIANT usage, 
                        [in, optional] VARIANT fname, 
                        [in, optional] VARIANT domain, 
                        [in, optional] VARIANT path, 
                        [in, optional] VARIANT expire, 
                        [in, optional] VARIANT reserved);
        [id(0x00000004)]
        HRESULT getAttribute(
                        [in] BSTR name, 
                        [out, retval] BSTR* value);
        [id(0x00000005)]
        HRESULT setAttribute(
                        [in] BSTR name, 
                        [in] BSTR value, 
                        [in, optional] VARIANT prefs, 
                        [out, retval] VARIANT_BOOL* Success);
        [id(0x00000006)]
        HRESULT commitChanges([out, retval] VARIANT_BOOL* Success);
        [id(0x00000007)]
        HRESULT addReadRequest(
                        [in] BSTR name, 
                        [in, optional] VARIANT reserved, 
                        [out, retval] VARIANT_BOOL* Success);
        [id(0x00000008)]
        HRESULT doReadRequest(
                        [in] VARIANT usage, 
                        [in, optional] VARIANT fname, 
                        [in, optional] VARIANT domain, 
                        [in, optional] VARIANT path, 
                        [in, optional] VARIANT expire, 
                        [in, optional] VARIANT reserved);
        [id(0x00000009)]
        HRESULT doWriteRequest([out, retval] VARIANT_BOOL* Success);
    };

    [
      odl,
      uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6),
      dual,
      oleautomation
    ]
    interface IOmNavigator : IDispatch {
        [id(0x00000001), propget]
        HRESULT appCodeName([out, retval] BSTR* p);
        [id(0x00000002), propget]
        HRESULT appName([out, retval] BSTR* p);
        [id(0x00000003), propget]
        HRESULT appVersion([out, retval] BSTR* p);
        [id(0x00000004), propget]
        HRESULT userAgent([out, retval] BSTR* p);
        [id(0x00000005)]
        HRESULT javaEnabled([out, retval] VARIANT_BOOL* enabled);
        [id(0x00000006)]
        HRESULT taintEnabled([out, retval] VARIANT_BOOL* enabled);
        [id(0x00000007), propget]
        HRESULT mimeTypes([out, retval] IHTMLMimeTypesCollection** p);
        [id(0x00000008), propget]
        HRESULT plugins([out, retval] IHTMLPluginsCollection** p);
        [id(0x00000009), propget]
        HRESULT cookieEnabled([out, retval] VARIANT_BOOL* p);
        [id(0x0000000a), propget]
        HRESULT opsProfile([out, retval] IHTMLOpsProfile** p);
        [id(0x0000000b)]
        HRESULT toString([out, retval] BSTR* String);
        [id(0x0000000c), propget]
        HRESULT cpuClass([out, retval] BSTR* p);
        [id(0x0000000d), propget]
        HRESULT systemLanguage([out, retval] BSTR* p);
        [id(0x0000000e), propget, hidden]
        HRESULT browserLanguage([out, retval] BSTR* p);
        [id(0x0000000f), propget]
        HRESULT userLanguage([out, retval] BSTR* p);
        [id(0x00000010), propget]
        HRESULT platform([out, retval] BSTR* p);
        [id(0x00000011), propget]
        HRESULT appMinorVersion([out, retval] BSTR* p);
        [id(0x00000012), propget, hidden]
        HRESULT connectionSpeed([out, retval] long* p);
        [id(0x00000013), propget]
        HRESULT onLine([out, retval] VARIANT_BOOL* p);
        [id(0x00000014), propget]
        HRESULT userProfile([out, retval] IHTMLOpsProfile** p);
    };

    [
      odl,
      uuid(163BB1E0-6E00-11CF-837A-48DC04C10000),
      dual,
      oleautomation
    ]
    interface IHTMLLocation : IDispatch {
        [id(00000000), propput]
        HRESULT href([in] BSTR p);
        [id(00000000), propget]
        HRESULT href([out, retval] BSTR* p);
        [id(0x00000001), propput]
        HRESULT protocol([in] BSTR p);
        [id(0x00000001), propget]
        HRESULT protocol([out, retval] BSTR* p);
        [id(0x00000002), propput]
        HRESULT host([in] BSTR p);
        [id(0x00000002), propget]
        HRESULT host([out, retval] BSTR* p);
        [id(0x00000003), propput]
        HRESULT hostname([in] BSTR p);
        [id(0x00000003), propget]
        HRESULT hostname([out, retval] BSTR* p);
        [id(0x00000004), propput]
        HRESULT port([in] BSTR p);
        [id(0x00000004), propget]
        HRESULT port([out, retval] BSTR* p);
        [id(0x00000005), propput]
        HRESULT pathname([in] BSTR p);
        [id(0x00000005), propget]
        HRESULT pathname([out, retval] BSTR* p);
        [id(0x00000006), propput]
        HRESULT search([in] BSTR p);
        [id(0x00000006), propget]
        HRESULT search([out, retval] BSTR* p);
        [id(0x00000007), propput]
        HRESULT hash([in] BSTR p);
        [id(0x00000007), propget]
        HRESULT hash([out, retval] BSTR* p);
        [id(0x00000008)]
        HRESULT reload([in, optional, defaultvalue(0)] VARIANT_BOOL flag);
        [id(0x00000009)]
        HRESULT replace([in] BSTR bstr);
        [id(0x0000000a)]
        HRESULT assign([in] BSTR bstr);
        [id(0x0000000b)]
        HRESULT toString([out, retval] BSTR* String);
    };

    [
      uuid(FECEAAA3-8405-11CF-8BA1-00AA00476DA6)
    ]
    coclass HTMLHistory {
        [default] interface IOmHistory;
    };

    [
      uuid(3050F3FE-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass CMimeTypes {
        [default] interface IHTMLMimeTypesCollection;
    };

    [
      uuid(3050F3FF-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass CPlugins {
        [default] interface IHTMLPluginsCollection;
    };

    [
      uuid(3050F402-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass COpsProfile {
        [default] interface IHTMLOpsProfile;
    };

    [
      uuid(FECEAAA6-8405-11CF-8BA1-00AA00476DA6)
    ]
    coclass HTMLNavigator {
        [default] interface IOmNavigator;
    };

    [
      uuid(163BB1E1-6E00-11CF-837A-48DC04C10000)
    ]
    coclass HTMLLocation {
        [default] interface IHTMLLocation;
    };

    [
      odl,
      uuid(3050F4CE-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBookmarkCollection : IDispatch {
        [id(0x000005dd), propget, hidden]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] VARIANT* pVarBookmark);
    };

    typedef enum {
        htmlPersistStateNormal = 0,
        htmlPersistStateFavorite = 1,
        htmlPersistStateHistory = 2,
        htmlPersistStateSnapshot = 3,
        htmlPersistStateUserData = 4,
        htmlPersistState_Max = 0x7fffffff
    } _htmlPersistState;

    typedef enum {
        htmlDropEffectCopy = 0,
        htmlDropEffectLink = 1,
        htmlDropEffectMove = 2,
        htmlDropEffectNone = 3,
        htmlDropEffect_Max = 0x7fffffff
    } _htmlDropEffect;

    typedef enum {
        htmlEffectAllowedCopy = 0,
        htmlEffectAllowedLink = 1,
        htmlEffectAllowedMove = 2,
        htmlEffectAllowedCopyLink = 3,
        htmlEffectAllowedCopyMove = 4,
        htmlEffectAllowedLinkMove = 5,
        htmlEffectAllowedAll = 6,
        htmlEffectAllowedNone = 7,
        htmlEffectAllowedUninitialized = 8,
        htmlEffectAllowed_Max = 0x7fffffff
    } _htmlEffectAllowed;

    [
      odl,
      uuid(3050F4B3-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDataTransfer : IDispatch {
        [id(0x000003e9)]
        HRESULT setData(
                        [in] BSTR format, 
                        [in] VARIANT* data, 
                        [out, retval] VARIANT_BOOL* pret);
        [id(0x000003ea)]
        HRESULT getData(
                        [in] BSTR format, 
                        [out, retval] VARIANT* pvarRet);
        [id(0x000003eb)]
        HRESULT clearData(
                        [in] BSTR format, 
                        [out, retval] VARIANT_BOOL* pret);
        [id(0x000003ec), propput]
        HRESULT dropEffect([in] BSTR p);
        [id(0x000003ec), propget]
        HRESULT dropEffect([out, retval] BSTR* p);
        [id(0x000003ed), propput]
        HRESULT effectAllowed([in] BSTR p);
        [id(0x000003ed), propget]
        HRESULT effectAllowed([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F48B-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLEventObj2 : IDispatch {
        [id(0x800101f5)]
        HRESULT setAttribute(
                        [in] BSTR strAttributeName, 
                        [in] VARIANT AttributeValue, 
                        [in, optional, defaultvalue(1)] long lFlags);
        [id(0x800101f6)]
        HRESULT getAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(0)] long lFlags, 
                        [out, retval] VARIANT* AttributeValue);
        [id(0x800101f7)]
        HRESULT removeAttribute(
                        [in] BSTR strAttributeName, 
                        [in, optional, defaultvalue(1)] long lFlags, 
                        [out, retval] VARIANT_BOOL* pfSuccess);
        [id(0x00000403), propput]
        HRESULT propertyName([in] BSTR p);
        [id(0x00000403), propget]
        HRESULT propertyName([out, retval] BSTR* p);
        [id(0x00000407), propputref]
        HRESULT bookmarks([in] IHTMLBookmarkCollection* p);
        [id(0x00000407), propget]
        HRESULT bookmarks([out, retval] IHTMLBookmarkCollection** p);
        [id(0x00000408), propputref]
        HRESULT recordset([in] IDispatch* p);
        [id(0x00000408), propget]
        HRESULT recordset([out, retval] IDispatch** p);
        [id(0x00000409), propput]
        HRESULT dataFld([in] BSTR p);
        [id(0x00000409), propget]
        HRESULT dataFld([out, retval] BSTR* p);
        [id(0x0000040a), propputref]
        HRESULT boundElements([in] IHTMLElementCollection* p);
        [id(0x0000040a), propget]
        HRESULT boundElements([out, retval] IHTMLElementCollection** p);
        [id(0x0000040b), propput]
        HRESULT repeat([in] VARIANT_BOOL p);
        [id(0x0000040b), propget]
        HRESULT repeat([out, retval] VARIANT_BOOL* p);
        [id(0x0000040c), propput]
        HRESULT srcUrn([in] BSTR p);
        [id(0x0000040c), propget]
        HRESULT srcUrn([out, retval] BSTR* p);
        [id(0x000003e9), propputref]
        HRESULT srcElement([in] IHTMLElement* p);
        [id(0x000003e9), propget]
        HRESULT srcElement([out, retval] IHTMLElement** p);
        [id(0x000003ea), propput]
        HRESULT altKey([in] VARIANT_BOOL p);
        [id(0x000003ea), propget]
        HRESULT altKey([out, retval] VARIANT_BOOL* p);
        [id(0x000003eb), propput]
        HRESULT ctrlKey([in] VARIANT_BOOL p);
        [id(0x000003eb), propget]
        HRESULT ctrlKey([out, retval] VARIANT_BOOL* p);
        [id(0x000003ec), propput]
        HRESULT shiftKey([in] VARIANT_BOOL p);
        [id(0x000003ec), propget]
        HRESULT shiftKey([out, retval] VARIANT_BOOL* p);
        [id(0x000003f1), propputref]
        HRESULT fromElement([in] IHTMLElement* p);
        [id(0x000003f1), propget]
        HRESULT fromElement([out, retval] IHTMLElement** p);
        [id(0x000003f2), propputref]
        HRESULT toElement([in] IHTMLElement* p);
        [id(0x000003f2), propget]
        HRESULT toElement([out, retval] IHTMLElement** p);
        [id(0x000003f4), propput]
        HRESULT button([in] long p);
        [id(0x000003f4), propget]
        HRESULT button([out, retval] long* p);
        [id(0x000003f5), propput]
        HRESULT type([in] BSTR p);
        [id(0x000003f5), propget]
        HRESULT type([out, retval] BSTR* p);
        [id(0x000003f6), propput]
        HRESULT qualifier([in] BSTR p);
        [id(0x000003f6), propget]
        HRESULT qualifier([out, retval] BSTR* p);
        [id(0x000003f7), propput]
        HRESULT reason([in] long p);
        [id(0x000003f7), propget]
        HRESULT reason([out, retval] long* p);
        [id(0x000003ed), propput]
        HRESULT x([in] long p);
        [id(0x000003ed), propget]
        HRESULT x([out, retval] long* p);
        [id(0x000003ee), propput]
        HRESULT y([in] long p);
        [id(0x000003ee), propget]
        HRESULT y([out, retval] long* p);
        [id(0x000003fc), propput]
        HRESULT clientX([in] long p);
        [id(0x000003fc), propget]
        HRESULT clientX([out, retval] long* p);
        [id(0x000003fd), propput]
        HRESULT clientY([in] long p);
        [id(0x000003fd), propget]
        HRESULT clientY([out, retval] long* p);
        [id(0x000003fe), propput]
        HRESULT offsetX([in] long p);
        [id(0x000003fe), propget]
        HRESULT offsetX([out, retval] long* p);
        [id(0x000003ff), propput]
        HRESULT offsetY([in] long p);
        [id(0x000003ff), propget]
        HRESULT offsetY([out, retval] long* p);
        [id(0x00000400), propput]
        HRESULT screenX([in] long p);
        [id(0x00000400), propget]
        HRESULT screenX([out, retval] long* p);
        [id(0x00000401), propput]
        HRESULT screenY([in] long p);
        [id(0x00000401), propget]
        HRESULT screenY([out, retval] long* p);
        [id(0x00000402), propputref]
        HRESULT srcFilter([in] IDispatch* p);
        [id(0x00000402), propget]
        HRESULT srcFilter([out, retval] IDispatch** p);
        [id(0x0000040d), propget]
        HRESULT dataTransfer([out, retval] IHTMLDataTransfer** p);
    };

    [
      odl,
      uuid(3050F680-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLEventObj3 : IDispatch {
        [id(0x0000040e), propget]
        HRESULT contentOverflow([out, retval] VARIANT_BOOL* p);
        [id(0x0000040f), propput]
        HRESULT shiftLeft([in] VARIANT_BOOL p);
        [id(0x0000040f), propget]
        HRESULT shiftLeft([out, retval] VARIANT_BOOL* p);
        [id(0x00000410), propput]
        HRESULT altLeft([in] VARIANT_BOOL p);
        [id(0x00000410), propget]
        HRESULT altLeft([out, retval] VARIANT_BOOL* p);
        [id(0x00000411), propput]
        HRESULT ctrlLeft([in] VARIANT_BOOL p);
        [id(0x00000411), propget]
        HRESULT ctrlLeft([out, retval] VARIANT_BOOL* p);
        [id(0x00000412), propget, restricted, hidden]
        HRESULT imeCompositionChange([out, retval] LONG_PTR* p);
        [id(0x00000413), propget, restricted, hidden]
        HRESULT imeNotifyCommand([out, retval] LONG_PTR* p);
        [id(0x00000414), propget, restricted, hidden]
        HRESULT imeNotifyData([out, retval] LONG_PTR* p);
        [id(0x00000416), propget, restricted, hidden]
        HRESULT imeRequest([out, retval] LONG_PTR* p);
        [id(0x00000417), propget, restricted, hidden]
        HRESULT imeRequestData([out, retval] LONG_PTR* p);
        [id(0x00000415), propget, restricted, hidden]
        HRESULT keyboardLayout([out, retval] LONG_PTR* p);
        [id(0x00000418), propget]
        HRESULT behaviorCookie([out, retval] long* p);
        [id(0x00000419), propget]
        HRESULT behaviorPart([out, retval] long* p);
        [id(0x0000041a), propget]
        HRESULT nextPage([out, retval] BSTR* p);
    };

    typedef [public]
    long LONG_PTR;

    [
      odl,
      uuid(3050F814-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLEventObj4 : IDispatch {
        [id(0x0000041b), propget]
        HRESULT wheelDelta([out, retval] long* p);
    };

    [
      uuid(3050F558-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispCEventObj {
        properties:
        methods:
            [id(0x000003ef), propput]
            void returnValue(VARIANT rhs);
            [id(0x000003ef), propget]
            VARIANT returnValue();
            [id(0x000003f0), propput]
            void cancelBubble(VARIANT_BOOL rhs);
            [id(0x000003f0), propget]
            VARIANT_BOOL cancelBubble();
            [id(0x000003f3), propput]
            void keyCode(long rhs);
            [id(0x000003f3), propget]
            long keyCode();
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x00000403), propput]
            void propertyName(BSTR rhs);
            [id(0x00000403), propget]
            BSTR propertyName();
            [id(0x00000407), propputref]
            void bookmarks(IHTMLBookmarkCollection* rhs);
            [id(0x00000407), propget]
            IHTMLBookmarkCollection* bookmarks();
            [id(0x00000408), propputref]
            void recordset(IDispatch* rhs);
            [id(0x00000408), propget]
            IDispatch* recordset();
            [id(0x00000409), propput]
            void dataFld(BSTR rhs);
            [id(0x00000409), propget]
            BSTR dataFld();
            [id(0x0000040a), propputref]
            void boundElements(IHTMLElementCollection* rhs);
            [id(0x0000040a), propget]
            IHTMLElementCollection* boundElements();
            [id(0x0000040b), propput]
            void repeat(VARIANT_BOOL rhs);
            [id(0x0000040b), propget]
            VARIANT_BOOL repeat();
            [id(0x0000040c), propput]
            void srcUrn(BSTR rhs);
            [id(0x0000040c), propget]
            BSTR srcUrn();
            [id(0x000003e9), propputref]
            void srcElement(IHTMLElement* rhs);
            [id(0x000003e9), propget]
            IHTMLElement* srcElement();
            [id(0x000003ea), propput]
            void altKey(VARIANT_BOOL rhs);
            [id(0x000003ea), propget]
            VARIANT_BOOL altKey();
            [id(0x000003eb), propput]
            void ctrlKey(VARIANT_BOOL rhs);
            [id(0x000003eb), propget]
            VARIANT_BOOL ctrlKey();
            [id(0x000003ec), propput]
            void shiftKey(VARIANT_BOOL rhs);
            [id(0x000003ec), propget]
            VARIANT_BOOL shiftKey();
            [id(0x000003f1), propputref]
            void fromElement(IHTMLElement* rhs);
            [id(0x000003f1), propget]
            IHTMLElement* fromElement();
            [id(0x000003f2), propputref]
            void toElement(IHTMLElement* rhs);
            [id(0x000003f2), propget]
            IHTMLElement* toElement();
            [id(0x000003f4), propput]
            void button(long rhs);
            [id(0x000003f4), propget]
            long button();
            [id(0x000003f5), propput]
            void type(BSTR rhs);
            [id(0x000003f5), propget]
            BSTR type();
            [id(0x000003f6), propput]
            void qualifier(BSTR rhs);
            [id(0x000003f6), propget]
            BSTR qualifier();
            [id(0x000003f7), propput]
            void reason(long rhs);
            [id(0x000003f7), propget]
            long reason();
            [id(0x000003ed), propput]
            void x(long rhs);
            [id(0x000003ed), propget]
            long x();
            [id(0x000003ee), propput]
            void y(long rhs);
            [id(0x000003ee), propget]
            long y();
            [id(0x000003fc), propput]
            void clientX(long rhs);
            [id(0x000003fc), propget]
            long clientX();
            [id(0x000003fd), propput]
            void clientY(long rhs);
            [id(0x000003fd), propget]
            long clientY();
            [id(0x000003fe), propput]
            void offsetX(long rhs);
            [id(0x000003fe), propget]
            long offsetX();
            [id(0x000003ff), propput]
            void offsetY(long rhs);
            [id(0x000003ff), propget]
            long offsetY();
            [id(0x00000400), propput]
            void screenX(long rhs);
            [id(0x00000400), propget]
            long screenX();
            [id(0x00000401), propput]
            void screenY(long rhs);
            [id(0x00000401), propget]
            long screenY();
            [id(0x00000402), propputref]
            void srcFilter(IDispatch* rhs);
            [id(0x00000402), propget]
            IDispatch* srcFilter();
            [id(0x0000040d), propget]
            IHTMLDataTransfer* dataTransfer();
            [id(0x0000040e), propget]
            VARIANT_BOOL contentOverflow();
            [id(0x0000040f), propput]
            void shiftLeft(VARIANT_BOOL rhs);
            [id(0x0000040f), propget]
            VARIANT_BOOL shiftLeft();
            [id(0x00000410), propput]
            void altLeft(VARIANT_BOOL rhs);
            [id(0x00000410), propget]
            VARIANT_BOOL altLeft();
            [id(0x00000411), propput]
            void ctrlLeft(VARIANT_BOOL rhs);
            [id(0x00000411), propget]
            VARIANT_BOOL ctrlLeft();
            [id(0x00000412), propget, restricted, hidden]
            LONG_PTR imeCompositionChange();
            [id(0x00000413), propget, restricted, hidden]
            LONG_PTR imeNotifyCommand();
            [id(0x00000414), propget, restricted, hidden]
            LONG_PTR imeNotifyData();
            [id(0x00000416), propget, restricted, hidden]
            LONG_PTR imeRequest();
            [id(0x00000417), propget, restricted, hidden]
            LONG_PTR imeRequestData();
            [id(0x00000415), propget, restricted, hidden]
            LONG_PTR keyboardLayout();
            [id(0x00000418), propget]
            long behaviorCookie();
            [id(0x00000419), propget]
            long behaviorPart();
            [id(0x0000041a), propget]
            BSTR nextPage();
            [id(0x0000041b), propget]
            long wheelDelta();
    };

    [
      uuid(3050F48A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass CEventObj {
        [default] dispinterface DispCEventObj;
        interface IHTMLEventObj;
        interface IHTMLEventObj2;
        interface IHTMLEventObj3;
        interface IHTMLEventObj4;
    };

    [
      uuid(3050F625-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLWindowEvents2 {
        properties:
        methods:
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f0)]
            void onunload([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror(
                            [in] BSTR description, 
                            [in] BSTR url, 
                            [in] long line);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f9)]
            void onbeforeunload([in] IHTMLEventObj* pEvtObj);
            [id(0x00000400)]
            void onbeforeprint([in] IHTMLEventObj* pEvtObj);
            [id(0x00000401)]
            void onafterprint([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(96A0A4E0-D062-11CF-94B6-00AA0060275C),
      hidden
    ]
    dispinterface HTMLWindowEvents {
        properties:
        methods:
            [id(0x000003eb)]
            void onload();
            [id(0x000003f0)]
            void onunload();
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003ea)]
            void onerror(
                            [in] BSTR description, 
                            [in] BSTR url, 
                            [in] long line);
            [id(0x000003f8)]
            void onresize();
            [id(0x000003f6)]
            void onscroll();
            [id(0x000003f9)]
            void onbeforeunload();
            [id(0x00000400)]
            void onbeforeprint();
            [id(0x00000401)]
            void onafterprint();
    };

    [
      odl,
      uuid(332C4425-26CB-11D0-B483-00C04FD90119),
      dual,
      oleautomation
    ]
    interface IHTMLDocument2 : IHTMLDocument {
        [id(0x000003eb), propget]
        HRESULT all([out, retval] IHTMLElementCollection** p);
        [id(0x000003ec), propget]
        HRESULT body([out, retval] IHTMLElement** p);
        [id(0x000003ed), propget]
        HRESULT activeElement([out, retval] IHTMLElement** p);
        [id(0x000003f3), propget]
        HRESULT images([out, retval] IHTMLElementCollection** p);
        [id(0x000003f0), propget]
        HRESULT applets([out, retval] IHTMLElementCollection** p);
        [id(0x000003f1), propget]
        HRESULT links([out, retval] IHTMLElementCollection** p);
        [id(0x000003f2), propget]
        HRESULT forms([out, retval] IHTMLElementCollection** p);
        [id(0x000003ef), propget]
        HRESULT anchors([out, retval] IHTMLElementCollection** p);
        [id(0x000003f4), propput]
        HRESULT title([in] BSTR p);
        [id(0x000003f4), propget]
        HRESULT title([out, retval] BSTR* p);
        [id(0x000003f5), propget]
        HRESULT scripts([out, retval] IHTMLElementCollection** p);
        [id(0x000003f6), propput, hidden]
        HRESULT designMode([in] BSTR p);
        [id(0x000003f6), propget, hidden]
        HRESULT designMode([out, retval] BSTR* p);
        [id(0x000003f9), propget]
        HRESULT selection([out, retval] IHTMLSelectionObject** p);
        [id(0x000003fa), propget, bindable]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x000003fb), propget]
        HRESULT frames([out, retval] IHTMLFramesCollection2** p);
        [id(0x000003f7), propget]
        HRESULT embeds([out, retval] IHTMLElementCollection** p);
        [id(0x000003fd), propget]
        HRESULT plugins([out, retval] IHTMLElementCollection** p);
        [id(0x000003fe), propput]
        HRESULT alinkColor([in] VARIANT p);
        [id(0x000003fe), propget]
        HRESULT alinkColor([out, retval] VARIANT* p);
        [id(0xfffffe0b), propput]
        HRESULT bgColor([in] VARIANT p);
        [id(0xfffffe0b), propget]
        HRESULT bgColor([out, retval] VARIANT* p);
        [id(0x8001138a), propput]
        HRESULT fgColor([in] VARIANT p);
        [id(0x8001138a), propget]
        HRESULT fgColor([out, retval] VARIANT* p);
        [id(0x00000400), propput]
        HRESULT linkColor([in] VARIANT p);
        [id(0x00000400), propget]
        HRESULT linkColor([out, retval] VARIANT* p);
        [id(0x000003ff), propput]
        HRESULT vlinkColor([in] VARIANT p);
        [id(0x000003ff), propget]
        HRESULT vlinkColor([out, retval] VARIANT* p);
        [id(0x00000403), propget]
        HRESULT referrer([out, retval] BSTR* p);
        [id(0x00000402), propget]
        HRESULT location([out, retval] IHTMLLocation** p);
        [id(0x00000404), propget]
        HRESULT lastModified([out, retval] BSTR* p);
        [id(0x00000401), propput]
        HRESULT url([in] BSTR p);
        [id(0x00000401), propget]
        HRESULT url([out, retval] BSTR* p);
        [id(0x00000405), propput]
        HRESULT domain([in] BSTR p);
        [id(0x00000405), propget]
        HRESULT domain([out, retval] BSTR* p);
        [id(0x00000406), propput]
        HRESULT cookie([in] BSTR p);
        [id(0x00000406), propget]
        HRESULT cookie([out, retval] BSTR* p);
        [id(0x00000407), propput, bindable, hidden]
        HRESULT expando([in] VARIANT_BOOL p);
        [id(0x00000407), propget, bindable, hidden]
        HRESULT expando([out, retval] VARIANT_BOOL* p);
        [id(0x00000408), propput, hidden]
        HRESULT charset([in] BSTR p);
        [id(0x00000408), propget, hidden]
        HRESULT charset([out, retval] BSTR* p);
        [id(0x00000409), propput]
        HRESULT defaultCharset([in] BSTR p);
        [id(0x00000409), propget]
        HRESULT defaultCharset([out, retval] BSTR* p);
        [id(0x00000411), propget]
        HRESULT mimeType([out, retval] BSTR* p);
        [id(0x00000412), propget]
        HRESULT fileSize([out, retval] BSTR* p);
        [id(0x00000413), propget]
        HRESULT fileCreatedDate([out, retval] BSTR* p);
        [id(0x00000414), propget]
        HRESULT fileModifiedDate([out, retval] BSTR* p);
        [id(0x00000415), propget]
        HRESULT fileUpdatedDate([out, retval] BSTR* p);
        [id(0x00000416), propget]
        HRESULT security([out, retval] BSTR* p);
        [id(0x00000417), propget]
        HRESULT protocol([out, retval] BSTR* p);
        [id(0x00000418), propget]
        HRESULT nameProp([out, retval] BSTR* p);
        [id(0x0000041e), vararg]
        HRESULT write([in] SAFEARRAY(VARIANT) psarray);
        [id(0x0000041f), vararg]
        HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
        [id(0x00000420)]
        HRESULT open(
                        [in, optional, defaultvalue("text/html")] BSTR url, 
                        [in, optional] VARIANT name, 
                        [in, optional] VARIANT features, 
                        [in, optional] VARIANT replace, 
                        [out, retval] IDispatch** pomWindowResult);
        [id(0x00000421)]
        HRESULT close();
        [id(0x00000422)]
        HRESULT clear();
        [id(0x00000423)]
        HRESULT queryCommandSupported(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x00000424)]
        HRESULT queryCommandEnabled(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x00000425)]
        HRESULT queryCommandState(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x00000426)]
        HRESULT queryCommandIndeterm(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x00000427)]
        HRESULT queryCommandText(
                        [in] BSTR cmdID, 
                        [out, retval] BSTR* pcmdText);
        [id(0x00000428)]
        HRESULT queryCommandValue(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT* pcmdValue);
        [id(0x00000429)]
        HRESULT execCommand(
                        [in] BSTR cmdID, 
                        [in, optional, defaultvalue(0)] VARIANT_BOOL showUI, 
                        [in, optional] VARIANT value, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x0000042a)]
        HRESULT execCommandShowHelp(
                        [in] BSTR cmdID, 
                        [out, retval] VARIANT_BOOL* pfRet);
        [id(0x0000042b)]
        HRESULT createElement(
                        [in] BSTR eTag, 
                        [out, retval] IHTMLElement** newElem);
        [id(0x8001177d), propput, bindable, displaybind]
        HRESULT onhelp([in] VARIANT p);
        [id(0x8001177d), propget, bindable, displaybind]
        HRESULT onhelp([out, retval] VARIANT* p);
        [id(0x80011778), propput, bindable, displaybind]
        HRESULT onclick([in] VARIANT p);
        [id(0x80011778), propget, bindable, displaybind]
        HRESULT onclick([out, retval] VARIANT* p);
        [id(0x80011779), propput, bindable, displaybind]
        HRESULT ondblclick([in] VARIANT p);
        [id(0x80011779), propget, bindable, displaybind]
        HRESULT ondblclick([out, retval] VARIANT* p);
        [id(0x80011776), propput, bindable, displaybind]
        HRESULT onkeyup([in] VARIANT p);
        [id(0x80011776), propget, bindable, displaybind]
        HRESULT onkeyup([out, retval] VARIANT* p);
        [id(0x80011775), propput, bindable, displaybind]
        HRESULT onkeydown([in] VARIANT p);
        [id(0x80011775), propget, bindable, displaybind]
        HRESULT onkeydown([out, retval] VARIANT* p);
        [id(0x80011777), propput, bindable, displaybind]
        HRESULT onkeypress([in] VARIANT p);
        [id(0x80011777), propget, bindable, displaybind]
        HRESULT onkeypress([out, retval] VARIANT* p);
        [id(0x80011773), propput, bindable, displaybind]
        HRESULT onmouseup([in] VARIANT p);
        [id(0x80011773), propget, bindable, displaybind]
        HRESULT onmouseup([out, retval] VARIANT* p);
        [id(0x80011772), propput, bindable, displaybind]
        HRESULT onmousedown([in] VARIANT p);
        [id(0x80011772), propget, bindable, displaybind]
        HRESULT onmousedown([out, retval] VARIANT* p);
        [id(0x80011774), propput, bindable, displaybind]
        HRESULT onmousemove([in] VARIANT p);
        [id(0x80011774), propget, bindable, displaybind]
        HRESULT onmousemove([out, retval] VARIANT* p);
        [id(0x80011771), propput, bindable, displaybind]
        HRESULT onmouseout([in] VARIANT p);
        [id(0x80011771), propget, bindable, displaybind]
        HRESULT onmouseout([out, retval] VARIANT* p);
        [id(0x80011770), propput, bindable, displaybind]
        HRESULT onmouseover([in] VARIANT p);
        [id(0x80011770), propget, bindable, displaybind]
        HRESULT onmouseover([out, retval] VARIANT* p);
        [id(0x80011789), propput, bindable, displaybind]
        HRESULT onreadystatechange([in] VARIANT p);
        [id(0x80011789), propget, bindable, displaybind]
        HRESULT onreadystatechange([out, retval] VARIANT* p);
        [id(0x80011786), propput, bindable, displaybind]
        HRESULT onafterupdate([in] VARIANT p);
        [id(0x80011786), propget, bindable, displaybind]
        HRESULT onafterupdate([out, retval] VARIANT* p);
        [id(0x80011782), propput, bindable, displaybind]
        HRESULT onrowexit([in] VARIANT p);
        [id(0x80011782), propget, bindable, displaybind]
        HRESULT onrowexit([out, retval] VARIANT* p);
        [id(0x80011783), propput, bindable, displaybind]
        HRESULT onrowenter([in] VARIANT p);
        [id(0x80011783), propget, bindable, displaybind]
        HRESULT onrowenter([out, retval] VARIANT* p);
        [id(0x80011793), propput, bindable, displaybind]
        HRESULT ondragstart([in] VARIANT p);
        [id(0x80011793), propget, bindable, displaybind]
        HRESULT ondragstart([out, retval] VARIANT* p);
        [id(0x80011795), propput, bindable, displaybind]
        HRESULT onselectstart([in] VARIANT p);
        [id(0x80011795), propget, bindable, displaybind]
        HRESULT onselectstart([out, retval] VARIANT* p);
        [id(0x0000042c)]
        HRESULT elementFromPoint(
                        [in] long x, 
                        [in] long y, 
                        [out, retval] IHTMLElement** elementHit);
        [id(0x0000040a), propget]
        HRESULT parentWindow([out, retval] IHTMLWindow2** p);
        [id(0x0000042d), propget]
        HRESULT styleSheets([out, retval] IHTMLStyleSheetsCollection** p);
        [id(0x80011785), propput, bindable, displaybind]
        HRESULT onbeforeupdate([in] VARIANT p);
        [id(0x80011785), propget, bindable, displaybind]
        HRESULT onbeforeupdate([out, retval] VARIANT* p);
        [id(0x80011796), propput, bindable, displaybind]
        HRESULT onerrorupdate([in] VARIANT p);
        [id(0x80011796), propget, bindable, displaybind]
        HRESULT onerrorupdate([out, retval] VARIANT* p);
        [id(0x0000042e)]
        HRESULT toString([out, retval] BSTR* String);
        [id(0x0000042f)]
        HRESULT createStyleSheet(
                        [in, optional, defaultvalue("")] BSTR bstrHref, 
                        [in, optional, defaultvalue(-1)] long lIndex, 
                        [out, retval] IHTMLStyleSheet** ppnewStyleSheet);
    };

    [
      odl,
      uuid(332C4426-26CB-11D0-B483-00C04FD90119),
      dual,
      oleautomation
    ]
    interface IHTMLFramesCollection2 : IDispatch {
        [id(00000000)]
        HRESULT item(
                        [in] VARIANT* pvarIndex, 
                        [out, retval] VARIANT* pvarResult);
        [id(0x000003e9), propget]
        HRESULT length([out, retval] long* p);
    };

    [
      odl,
      uuid(332C4427-26CB-11D0-B483-00C04FD90119),
      dual,
      oleautomation
    ]
    interface IHTMLWindow2 : IHTMLFramesCollection2 {
        [id(0x0000044c), propget]
        HRESULT frames([out, retval] IHTMLFramesCollection2** p);
        [id(0x0000044d), propput]
        HRESULT defaultStatus([in] BSTR p);
        [id(0x0000044d), propget]
        HRESULT defaultStatus([out, retval] BSTR* p);
        [id(0x0000044e), propput]
        HRESULT status([in] BSTR p);
        [id(0x0000044e), propget]
        HRESULT status([out, retval] BSTR* p);
        [id(0x00000494)]
        HRESULT setTimeout(
                        [in] BSTR expression, 
                        [in] long msec, 
                        [in, optional] VARIANT* language, 
                        [out, retval] long* timerID);
        [id(0x00000450)]
        HRESULT clearTimeout([in] long timerID);
        [id(0x00000451)]
        HRESULT alert([in, optional, defaultvalue("")] BSTR message);
        [id(0x00000456)]
        HRESULT confirm(
                        [in, optional, defaultvalue("")] BSTR message, 
                        [out, retval] VARIANT_BOOL* confirmed);
        [id(0x00000457)]
        HRESULT prompt(
                        [in, optional, defaultvalue("")] BSTR message, 
                        [in, optional, defaultvalue("undefined")] BSTR defstr, 
                        [out, retval] VARIANT* textdata);
        [id(0x00000465), propget]
        HRESULT Image([out, retval] IHTMLImageElementFactory** p);
        [id(0x0000000e), propget]
        HRESULT location([out, retval] IHTMLLocation** p);
        [id(0x00000002), propget]
        HRESULT history([out, retval] IOmHistory** p);
        [id(0x00000003)]
        HRESULT close();
        [id(0x00000004), propput]
        HRESULT opener([in] VARIANT p);
        [id(0x00000004), propget]
        HRESULT opener([out, retval] VARIANT* p);
        [id(0x00000005), propget]
        HRESULT navigator([out, retval] IOmNavigator** p);
        [id(0x0000000b), propput]
        HRESULT name([in] BSTR p);
        [id(0x0000000b), propget]
        HRESULT name([out, retval] BSTR* p);
        [id(0x0000000c), propget]
        HRESULT parent([out, retval] IHTMLWindow2** p);
        [id(0x0000000d)]
        HRESULT open(
                        [in, optional, defaultvalue("")] BSTR url, 
                        [in, optional, defaultvalue("")] BSTR name, 
                        [in, optional, defaultvalue("")] BSTR features, 
                        [in, optional, defaultvalue(0)] VARIANT_BOOL replace, 
                        [out, retval] IHTMLWindow2** pomWindowResult);
        [id(0x00000014), propget]
        HRESULT self([out, retval] IHTMLWindow2** p);
        [id(0x00000015), propget]
        HRESULT top([out, retval] IHTMLWindow2** p);
        [id(0x00000016), propget]
        HRESULT window([out, retval] IHTMLWindow2** p);
        [id(0x00000019)]
        HRESULT navigate([in] BSTR url);
        [id(0x8001177e), propput, bindable, displaybind]
        HRESULT onfocus([in] VARIANT p);
        [id(0x8001177e), propget, bindable, displaybind]
        HRESULT onfocus([out, retval] VARIANT* p);
        [id(0x8001177f), propput, bindable, displaybind]
        HRESULT onblur([in] VARIANT p);
        [id(0x8001177f), propget, bindable, displaybind]
        HRESULT onblur([out, retval] VARIANT* p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x80011797), propput, bindable, displaybind]
        HRESULT onbeforeunload([in] VARIANT p);
        [id(0x80011797), propget, bindable, displaybind]
        HRESULT onbeforeunload([out, retval] VARIANT* p);
        [id(0x80011791), propput, bindable, displaybind]
        HRESULT onunload([in] VARIANT p);
        [id(0x80011791), propget, bindable, displaybind]
        HRESULT onunload([out, retval] VARIANT* p);
        [id(0x8001177d), propput, bindable, displaybind]
        HRESULT onhelp([in] VARIANT p);
        [id(0x8001177d), propget, bindable, displaybind]
        HRESULT onhelp([out, retval] VARIANT* p);
        [id(0x8001178d), propput, bindable, displaybind]
        HRESULT onerror([in] VARIANT p);
        [id(0x8001178d), propget, bindable, displaybind]
        HRESULT onerror([out, retval] VARIANT* p);
        [id(0x80011794), propput, bindable, displaybind]
        HRESULT onresize([in] VARIANT p);
        [id(0x80011794), propget, bindable, displaybind]
        HRESULT onresize([out, retval] VARIANT* p);
        [id(0x8001178f), propput, bindable, displaybind]
        HRESULT onscroll([in] VARIANT p);
        [id(0x8001178f), propget, bindable, displaybind]
        HRESULT onscroll([out, retval] VARIANT* p);
        [id(0x0000047f), propget, source]
        HRESULT document([out, retval] IHTMLDocument2** p);
        [id(0x00000480), propget]
        HRESULT event([out, retval] IHTMLEventObj** p);
        [id(0x00000481), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(0x00000482)]
        HRESULT showModalDialog(
                        [in] BSTR dialog, 
                        [in, optional] VARIANT* varArgIn, 
                        [in, optional] VARIANT* varOptions, 
                        [out, retval] VARIANT* varArgOut);
        [id(0x00000483)]
        HRESULT showHelp(
                        [in] BSTR helpURL, 
                        [in, optional] VARIANT helpArg, 
                        [in, optional, defaultvalue("")] BSTR features);
        [id(0x00000484), propget]
        HRESULT screen([out, retval] IHTMLScreen** p);
        [id(0x00000485), propget]
        HRESULT Option([out, retval] IHTMLOptionElementFactory** p);
        [id(0x00000486)]
        HRESULT focus();
        [id(0x00000017), propget]
        HRESULT closed([out, retval] VARIANT_BOOL* p);
        [id(0x00000487)]
        HRESULT blur();
        [id(0x00000488)]
        HRESULT scroll(
                        [in] long x, 
                        [in] long y);
        [id(0x00000489), propget]
        HRESULT clientInformation([out, retval] IOmNavigator** p);
        [id(0x00000495)]
        HRESULT setInterval(
                        [in] BSTR expression, 
                        [in] long msec, 
                        [in, optional] VARIANT* language, 
                        [out, retval] long* timerID);
        [id(0x0000048b)]
        HRESULT clearInterval([in] long timerID);
        [id(0x0000048c), propput]
        HRESULT offscreenBuffering([in] VARIANT p);
        [id(0x0000048c), propget]
        HRESULT offscreenBuffering([out, retval] VARIANT* p);
        [id(0x0000048d)]
        HRESULT execScript(
                        [in] BSTR code, 
                        [in, optional, defaultvalue("JScript")] BSTR language, 
                        [out, retval] VARIANT* pvarRet);
        [id(0x0000048e)]
        HRESULT toString([out, retval] BSTR* String);
        [id(0x0000048f)]
        HRESULT scrollBy(
                        [in] long x, 
                        [in] long y);
        [id(0x00000490)]
        HRESULT scrollTo(
                        [in] long x, 
                        [in] long y);
        [id(0x00000006)]
        HRESULT moveTo(
                        [in] long x, 
                        [in] long y);
        [id(0x00000007)]
        HRESULT moveBy(
                        [in] long x, 
                        [in] long y);
        [id(0x00000009)]
        HRESULT resizeTo(
                        [in] long x, 
                        [in] long y);
        [id(0x00000008)]
        HRESULT resizeBy(
                        [in] long x, 
                        [in] long y);
        [id(0x00000491), propget]
        HRESULT external([out, retval] IDispatch** p);
    };

    [
      odl,
      uuid(3050F35C-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLScreen : IDispatch {
        [id(0x000003e9), propget]
        HRESULT colorDepth([out, retval] long* p);
        [id(0x000003ea), propput]
        HRESULT bufferDepth([in] long p);
        [id(0x000003ea), propget]
        HRESULT bufferDepth([out, retval] long* p);
        [id(0x000003eb), propget]
        HRESULT width([out, retval] long* p);
        [id(0x000003ec), propget]
        HRESULT height([out, retval] long* p);
        [id(0x000003ed), propput]
        HRESULT updateInterval([in] long p);
        [id(0x000003ed), propget]
        HRESULT updateInterval([out, retval] long* p);
        [id(0x000003ee), propget]
        HRESULT availHeight([out, retval] long* p);
        [id(0x000003ef), propget]
        HRESULT availWidth([out, retval] long* p);
        [id(0x000003f0), propget]
        HRESULT fontSmoothingEnabled([out, retval] VARIANT_BOOL* p);
    };

    [
      odl,
      uuid(3050F4AE-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLWindow3 : IDispatch {
        [id(0x00000492), propget]
        HRESULT screenLeft([out, retval] long* p);
        [id(0x00000493), propget]
        HRESULT screenTop([out, retval] long* p);
        [id(0x800101fb)]
        HRESULT attachEvent(
                        [in] BSTR event, 
                        [in] IDispatch* pdisp, 
                        [out, retval] VARIANT_BOOL* pfResult);
        [id(0x800101fc)]
        HRESULT detachEvent(
                        [in] BSTR event, 
                        [in] IDispatch* pdisp);
        [id(0x0000044f)]
        HRESULT setTimeout(
                        [in] VARIANT* expression, 
                        [in] long msec, 
                        [in, optional] VARIANT* language, 
                        [out, retval] long* timerID);
        [id(0x0000048a)]
        HRESULT setInterval(
                        [in] VARIANT* expression, 
                        [in] long msec, 
                        [in, optional] VARIANT* language, 
                        [out, retval] long* timerID);
        [id(0x00000496)]
        HRESULT print();
        [id(0x800117b2), propput, bindable, displaybind]
        HRESULT onbeforeprint([in] VARIANT p);
        [id(0x800117b2), propget, bindable, displaybind]
        HRESULT onbeforeprint([out, retval] VARIANT* p);
        [id(0x800117b3), propput, bindable, displaybind]
        HRESULT onafterprint([in] VARIANT p);
        [id(0x800117b3), propget, bindable, displaybind]
        HRESULT onafterprint([out, retval] VARIANT* p);
        [id(0x00000497), propget]
        HRESULT clipboardData([out, retval] IHTMLDataTransfer** p);
        [id(0x00000498)]
        HRESULT showModelessDialog(
                        [in, optional, defaultvalue("")] BSTR url, 
                        [in, optional] VARIANT* varArgIn, 
                        [in, optional] VARIANT* options, 
                        [out, retval] IHTMLWindow2** pDialog);
    };

    [
      odl,
      uuid(3050F311-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFrameBase : IDispatch {
        [id(0x80010bb8), propput]
        HRESULT src([in] BSTR p);
        [id(0x80010bb8), propget]
        HRESULT src([out, retval] BSTR* p);
        [id(0x80010000), propput]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget]
        HRESULT name([out, retval] BSTR* p);
        [id(0x80010bba), propput]
        HRESULT border([in] VARIANT p);
        [id(0x80010bba), propget]
        HRESULT border([out, retval] VARIANT* p);
        [id(0x80010bbb), propput]
        HRESULT frameBorder([in] BSTR p);
        [id(0x80010bbb), propget]
        HRESULT frameBorder([out, retval] BSTR* p);
        [id(0x80010bbc), propput]
        HRESULT frameSpacing([in] VARIANT p);
        [id(0x80010bbc), propget]
        HRESULT frameSpacing([out, retval] VARIANT* p);
        [id(0x80010bbd), propput]
        HRESULT marginWidth([in] VARIANT p);
        [id(0x80010bbd), propget]
        HRESULT marginWidth([out, retval] VARIANT* p);
        [id(0x80010bbe), propput]
        HRESULT marginHeight([in] VARIANT p);
        [id(0x80010bbe), propget]
        HRESULT marginHeight([out, retval] VARIANT* p);
        [id(0x80010bbf), propput]
        HRESULT noResize([in] VARIANT_BOOL p);
        [id(0x80010bbf), propget]
        HRESULT noResize([out, retval] VARIANT_BOOL* p);
        [id(0x80010bc0), propput]
        HRESULT scrolling([in] BSTR p);
        [id(0x80010bc0), propget]
        HRESULT scrolling([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F84A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLScreen2 : IDispatch {
        [id(0x000003f1), propget]
        HRESULT logicalXDPI([out, retval] long* p);
        [id(0x000003f2), propget]
        HRESULT logicalYDPI([out, retval] long* p);
        [id(0x000003f3), propget]
        HRESULT deviceXDPI([out, retval] long* p);
        [id(0x000003f4), propget]
        HRESULT deviceYDPI([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F6CF-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLWindow4 : IDispatch {
        [id(0x0000049c)]
        HRESULT createPopup(
                        [in, optional] VARIANT* varArgIn, 
                        [out, retval] IDispatch** ppPopup);
        [id(0x0000049d), propget]
        HRESULT frameElement([out, retval] IHTMLFrameBase** p);
    };

    [
      uuid(3050F7F6-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass FramesCollection {
        [default] interface IHTMLFramesCollection2;
    };

    [
      uuid(3050F591-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLScreen {
        properties:
        methods:
            [id(0x000003e9), propget]
            long colorDepth();
            [id(0x000003ea), propput]
            void bufferDepth(long rhs);
            [id(0x000003ea), propget]
            long bufferDepth();
            [id(0x000003eb), propget]
            long width();
            [id(0x000003ec), propget]
            long height();
            [id(0x000003ed), propput]
            void updateInterval(long rhs);
            [id(0x000003ed), propget]
            long updateInterval();
            [id(0x000003ee), propget]
            long availHeight();
            [id(0x000003ef), propget]
            long availWidth();
            [id(0x000003f0), propget]
            VARIANT_BOOL fontSmoothingEnabled();
            [id(0x000003f1), propget]
            long logicalXDPI();
            [id(0x000003f2), propget]
            long logicalYDPI();
            [id(0x000003f3), propget]
            long deviceXDPI();
            [id(0x000003f4), propget]
            long deviceYDPI();
    };

    [
      uuid(3050F35D-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLScreen {
        [default] dispinterface DispHTMLScreen;
        interface IHTMLScreen;
        interface IHTMLScreen2;
    };

    [
      uuid(3050F55D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLWindow2 {
        properties:
        methods:
            [id(00000000)]
            VARIANT item([in] VARIANT* pvarIndex);
            [id(0x000003e9), propget]
            long length();
            [id(0x0000044c), propget]
            IHTMLFramesCollection2* frames();
            [id(0x0000044d), propput]
            void defaultStatus(BSTR rhs);
            [id(0x0000044d), propget]
            BSTR defaultStatus();
            [id(0x0000044e), propput]
            void status(BSTR rhs);
            [id(0x0000044e), propget]
            BSTR status();
            [id(0x00000450)]
            void clearTimeout([in] long timerID);
            [id(0x00000451)]
            void alert([in, optional, defaultvalue("")] BSTR message);
            [id(0x00000456)]
            VARIANT_BOOL confirm([in, optional, defaultvalue("")] BSTR message);
            [id(0x00000457)]
            VARIANT prompt(
                            [in, optional, defaultvalue("")] BSTR message, 
                            [in, optional, defaultvalue("undefined")] BSTR defstr);
            [id(0x00000465), propget]
            IHTMLImageElementFactory* Image();
            [id(0x0000000e), propget]
            IHTMLLocation* location();
            [id(0x00000002), propget]
            IOmHistory* history();
            [id(0x00000003)]
            void close();
            [id(0x00000004), propput]
            void opener(VARIANT rhs);
            [id(0x00000004), propget]
            VARIANT opener();
            [id(0x00000005), propget]
            IOmNavigator* navigator();
            [id(0x0000000b), propput]
            void name(BSTR rhs);
            [id(0x0000000b), propget]
            BSTR name();
            [id(0x0000000c), propget]
            IHTMLWindow2* parent();
            [id(0x0000000d)]
            IHTMLWindow2* open(
                            [in, optional, defaultvalue("")] BSTR url, 
                            [in, optional, defaultvalue("")] BSTR name, 
                            [in, optional, defaultvalue("")] BSTR features, 
                            [in, optional, defaultvalue(0)] VARIANT_BOOL replace);
            [id(0x00000014), propget]
            IHTMLWindow2* self();
            [id(0x00000015), propget]
            IHTMLWindow2* top();
            [id(0x00000016), propget]
            IHTMLWindow2* window();
            [id(0x00000019)]
            void navigate([in] BSTR url);
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x80011797), propput, bindable, displaybind]
            void onbeforeunload(VARIANT rhs);
            [id(0x80011797), propget, bindable, displaybind]
            VARIANT onbeforeunload();
            [id(0x80011791), propput, bindable, displaybind]
            void onunload(VARIANT rhs);
            [id(0x80011791), propget, bindable, displaybind]
            VARIANT onunload();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x0000047f), propget, source]
            IHTMLDocument2* document();
            [id(0x00000480), propget]
            IHTMLEventObj* event();
            [id(0x00000481), propget, restricted, hidden]
            IUnknown* _newEnum();
            [id(0x00000482)]
            VARIANT showModalDialog(
                            [in] BSTR dialog, 
                            [in, optional] VARIANT* varArgIn, 
                            [in, optional] VARIANT* varOptions);
            [id(0x00000483)]
            void showHelp(
                            [in] BSTR helpURL, 
                            [in, optional] VARIANT helpArg, 
                            [in, optional, defaultvalue("")] BSTR features);
            [id(0x00000484), propget]
            IHTMLScreen* screen();
            [id(0x00000485), propget]
            IHTMLOptionElementFactory* Option();
            [id(0x00000486)]
            void focus();
            [id(0x00000017), propget]
            VARIANT_BOOL closed();
            [id(0x00000487)]
            void blur();
            [id(0x00000488)]
            void scroll(
                            [in] long x, 
                            [in] long y);
            [id(0x00000489), propget]
            IOmNavigator* clientInformation();
            [id(0x0000048b)]
            void clearInterval([in] long timerID);
            [id(0x0000048c), propput]
            void offscreenBuffering(VARIANT rhs);
            [id(0x0000048c), propget]
            VARIANT offscreenBuffering();
            [id(0x0000048d)]
            VARIANT execScript(
                            [in] BSTR code, 
                            [in, optional, defaultvalue("JScript")] BSTR language);
            [id(0x0000048e)]
            BSTR toString();
            [id(0x0000048f)]
            void scrollBy(
                            [in] long x, 
                            [in] long y);
            [id(0x00000490)]
            void scrollTo(
                            [in] long x, 
                            [in] long y);
            [id(0x00000006)]
            void moveTo(
                            [in] long x, 
                            [in] long y);
            [id(0x00000007)]
            void moveBy(
                            [in] long x, 
                            [in] long y);
            [id(0x00000009)]
            void resizeTo(
                            [in] long x, 
                            [in] long y);
            [id(0x00000008)]
            void resizeBy(
                            [in] long x, 
                            [in] long y);
            [id(0x00000491), propget]
            IDispatch* external();
            [id(0x00000492), propget]
            long screenLeft();
            [id(0x00000493), propget]
            long screenTop();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x0000044f)]
            long setTimeout(
                            [in] VARIANT* expression, 
                            [in] long msec, 
                            [in, optional] VARIANT* language);
            [id(0x0000048a)]
            long setInterval(
                            [in] VARIANT* expression, 
                            [in] long msec, 
                            [in, optional] VARIANT* language);
            [id(0x00000496)]
            void print();
            [id(0x800117b2), propput, bindable, displaybind]
            void onbeforeprint(VARIANT rhs);
            [id(0x800117b2), propget, bindable, displaybind]
            VARIANT onbeforeprint();
            [id(0x800117b3), propput, bindable, displaybind]
            void onafterprint(VARIANT rhs);
            [id(0x800117b3), propget, bindable, displaybind]
            VARIANT onafterprint();
            [id(0x00000497), propget]
            IHTMLDataTransfer* clipboardData();
            [id(0x00000498)]
            IHTMLWindow2* showModelessDialog(
                            [in, optional, defaultvalue("")] BSTR url, 
                            [in, optional] VARIANT* varArgIn, 
                            [in, optional] VARIANT* options);
            [id(0x0000049c)]
            IDispatch* createPopup([in, optional] VARIANT* varArgIn);
            [id(0x0000049d), propget]
            IHTMLFrameBase* frameElement();
    };

    [
      uuid(D48A6EC6-6A4A-11CF-94A7-444553540000)
    ]
    coclass HTMLWindow2 {
        [default] dispinterface DispHTMLWindow2;
        [default, source] dispinterface HTMLWindowEvents;
        [source] dispinterface HTMLWindowEvents2;
        interface IHTMLWindow2;
        interface IHTMLWindow3;
        interface IHTMLWindow4;
    };

    [
      uuid(3050F55E-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLWindowProxy {
        properties:
        methods:
            [id(00000000)]
            VARIANT item([in] VARIANT* pvarIndex);
            [id(0x000003e9), propget]
            long length();
            [id(0x0000044c), propget]
            IHTMLFramesCollection2* frames();
            [id(0x0000044d), propput]
            void defaultStatus(BSTR rhs);
            [id(0x0000044d), propget]
            BSTR defaultStatus();
            [id(0x0000044e), propput]
            void status(BSTR rhs);
            [id(0x0000044e), propget]
            BSTR status();
            [id(0x00000450)]
            void clearTimeout([in] long timerID);
            [id(0x00000451)]
            void alert([in, optional, defaultvalue("")] BSTR message);
            [id(0x00000456)]
            VARIANT_BOOL confirm([in, optional, defaultvalue("")] BSTR message);
            [id(0x00000457)]
            VARIANT prompt(
                            [in, optional, defaultvalue("")] BSTR message, 
                            [in, optional, defaultvalue("undefined")] BSTR defstr);
            [id(0x00000465), propget]
            IHTMLImageElementFactory* Image();
            [id(0x0000000e), propget]
            IHTMLLocation* location();
            [id(0x00000002), propget]
            IOmHistory* history();
            [id(0x00000003)]
            void close();
            [id(0x00000004), propput]
            void opener(VARIANT rhs);
            [id(0x00000004), propget]
            VARIANT opener();
            [id(0x00000005), propget]
            IOmNavigator* navigator();
            [id(0x0000000b), propput]
            void name(BSTR rhs);
            [id(0x0000000b), propget]
            BSTR name();
            [id(0x0000000c), propget]
            IHTMLWindow2* parent();
            [id(0x0000000d)]
            IHTMLWindow2* open(
                            [in, optional, defaultvalue("")] BSTR url, 
                            [in, optional, defaultvalue("")] BSTR name, 
                            [in, optional, defaultvalue("")] BSTR features, 
                            [in, optional, defaultvalue(0)] VARIANT_BOOL replace);
            [id(0x00000014), propget]
            IHTMLWindow2* self();
            [id(0x00000015), propget]
            IHTMLWindow2* top();
            [id(0x00000016), propget]
            IHTMLWindow2* window();
            [id(0x00000019)]
            void navigate([in] BSTR url);
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x80011797), propput, bindable, displaybind]
            void onbeforeunload(VARIANT rhs);
            [id(0x80011797), propget, bindable, displaybind]
            VARIANT onbeforeunload();
            [id(0x80011791), propput, bindable, displaybind]
            void onunload(VARIANT rhs);
            [id(0x80011791), propget, bindable, displaybind]
            VARIANT onunload();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x0000047f), propget, source]
            IHTMLDocument2* document();
            [id(0x00000480), propget]
            IHTMLEventObj* event();
            [id(0x00000481), propget, restricted, hidden]
            IUnknown* _newEnum();
            [id(0x00000482)]
            VARIANT showModalDialog(
                            [in] BSTR dialog, 
                            [in, optional] VARIANT* varArgIn, 
                            [in, optional] VARIANT* varOptions);
            [id(0x00000483)]
            void showHelp(
                            [in] BSTR helpURL, 
                            [in, optional] VARIANT helpArg, 
                            [in, optional, defaultvalue("")] BSTR features);
            [id(0x00000484), propget]
            IHTMLScreen* screen();
            [id(0x00000485), propget]
            IHTMLOptionElementFactory* Option();
            [id(0x00000486)]
            void focus();
            [id(0x00000017), propget]
            VARIANT_BOOL closed();
            [id(0x00000487)]
            void blur();
            [id(0x00000488)]
            void scroll(
                            [in] long x, 
                            [in] long y);
            [id(0x00000489), propget]
            IOmNavigator* clientInformation();
            [id(0x0000048b)]
            void clearInterval([in] long timerID);
            [id(0x0000048c), propput]
            void offscreenBuffering(VARIANT rhs);
            [id(0x0000048c), propget]
            VARIANT offscreenBuffering();
            [id(0x0000048d)]
            VARIANT execScript(
                            [in] BSTR code, 
                            [in, optional, defaultvalue("JScript")] BSTR language);
            [id(0x0000048e)]
            BSTR toString();
            [id(0x0000048f)]
            void scrollBy(
                            [in] long x, 
                            [in] long y);
            [id(0x00000490)]
            void scrollTo(
                            [in] long x, 
                            [in] long y);
            [id(0x00000006)]
            void moveTo(
                            [in] long x, 
                            [in] long y);
            [id(0x00000007)]
            void moveBy(
                            [in] long x, 
                            [in] long y);
            [id(0x00000009)]
            void resizeTo(
                            [in] long x, 
                            [in] long y);
            [id(0x00000008)]
            void resizeBy(
                            [in] long x, 
                            [in] long y);
            [id(0x00000491), propget]
            IDispatch* external();
            [id(0x00000492), propget]
            long screenLeft();
            [id(0x00000493), propget]
            long screenTop();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x0000044f)]
            long setTimeout(
                            [in] VARIANT* expression, 
                            [in] long msec, 
                            [in, optional] VARIANT* language);
            [id(0x0000048a)]
            long setInterval(
                            [in] VARIANT* expression, 
                            [in] long msec, 
                            [in, optional] VARIANT* language);
            [id(0x00000496)]
            void print();
            [id(0x800117b2), propput, bindable, displaybind]
            void onbeforeprint(VARIANT rhs);
            [id(0x800117b2), propget, bindable, displaybind]
            VARIANT onbeforeprint();
            [id(0x800117b3), propput, bindable, displaybind]
            void onafterprint(VARIANT rhs);
            [id(0x800117b3), propget, bindable, displaybind]
            VARIANT onafterprint();
            [id(0x00000497), propget]
            IHTMLDataTransfer* clipboardData();
            [id(0x00000498)]
            IHTMLWindow2* showModelessDialog(
                            [in, optional, defaultvalue("")] BSTR url, 
                            [in, optional] VARIANT* varArgIn, 
                            [in, optional] VARIANT* options);
            [id(0x0000049c)]
            IDispatch* createPopup([in, optional] VARIANT* varArgIn);
            [id(0x0000049d), propget]
            IHTMLFrameBase* frameElement();
    };

    [
      uuid(3050F391-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLWindowProxy {
        [default] dispinterface DispHTMLWindowProxy;
        [default, source] dispinterface HTMLWindowEvents;
        [source] dispinterface HTMLWindowEvents2;
        interface IHTMLWindow2;
        interface IHTMLWindow3;
        interface IHTMLWindow4;
    };

    [
      uuid(3050F613-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLDocumentEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x00000402)]
            VARIANT_BOOL onstop([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000403)]
            void onbeforeeditfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040d)]
            void onselectionchange([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F260-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLDocumentEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x00000402)]
            VARIANT_BOOL onstop();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x0000040d)]
            void onselectionchange();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
    };

    typedef enum {
        htmlCompatModeBackCompat = 0,
        htmlCompatModeCSS1Compat = 1,
        htmlCompatMode_Max = 0x7fffffff
    } _htmlCompatMode;

    [
      odl,
      uuid(3050F485-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDocument3 : IDispatch {
        [id(0x00000430)]
        HRESULT releaseCapture();
        [id(0x00000431)]
        HRESULT recalc([in, optional, defaultvalue(0)] VARIANT_BOOL fForce);
        [id(0x00000432)]
        HRESULT createTextNode(
                        [in] BSTR text, 
                        [out, retval] IHTMLDOMNode** newTextNode);
        [id(0x00000433), propget]
        HRESULT documentElement([out, retval] IHTMLElement** p);
        [id(0x00000435), propget, hidden]
        HRESULT uniqueID([out, retval] BSTR* p);
        [id(0x800101fb)]
        HRESULT attachEvent(
                        [in] BSTR event, 
                        [in] IDispatch* pdisp, 
                        [out, retval] VARIANT_BOOL* pfResult);
        [id(0x800101fc)]
        HRESULT detachEvent(
                        [in] BSTR event, 
                        [in] IDispatch* pdisp);
        [id(0x800117ae), propput, bindable, displaybind]
        HRESULT onrowsdelete([in] VARIANT p);
        [id(0x800117ae), propget, bindable, displaybind]
        HRESULT onrowsdelete([out, retval] VARIANT* p);
        [id(0x800117af), propput, bindable, displaybind]
        HRESULT onrowsinserted([in] VARIANT p);
        [id(0x800117af), propget, bindable, displaybind]
        HRESULT onrowsinserted([out, retval] VARIANT* p);
        [id(0x800117b0), propput, bindable, displaybind]
        HRESULT oncellchange([in] VARIANT p);
        [id(0x800117b0), propget, bindable, displaybind]
        HRESULT oncellchange([out, retval] VARIANT* p);
        [id(0x80011798), propput, bindable, displaybind]
        HRESULT ondatasetchanged([in] VARIANT p);
        [id(0x80011798), propget, bindable, displaybind]
        HRESULT ondatasetchanged([out, retval] VARIANT* p);
        [id(0x80011799), propput, bindable, displaybind]
        HRESULT ondataavailable([in] VARIANT p);
        [id(0x80011799), propget, bindable, displaybind]
        HRESULT ondataavailable([out, retval] VARIANT* p);
        [id(0x8001179a), propput, bindable, displaybind]
        HRESULT ondatasetcomplete([in] VARIANT p);
        [id(0x8001179a), propget, bindable, displaybind]
        HRESULT ondatasetcomplete([out, retval] VARIANT* p);
        [id(0x8001179f), propput, bindable, displaybind]
        HRESULT onpropertychange([in] VARIANT p);
        [id(0x8001179f), propget, bindable, displaybind]
        HRESULT onpropertychange([out, retval] VARIANT* p);
        [id(0x800113fd), propput]
        HRESULT dir([in] BSTR p);
        [id(0x800113fd), propget]
        HRESULT dir([out, retval] BSTR* p);
        [id(0x800117b1), propput, bindable, displaybind]
        HRESULT oncontextmenu([in] VARIANT p);
        [id(0x800117b1), propget, bindable, displaybind]
        HRESULT oncontextmenu([out, retval] VARIANT* p);
        [id(0x800117b4), propput, bindable, displaybind]
        HRESULT onstop([in] VARIANT p);
        [id(0x800117b4), propget, bindable, displaybind]
        HRESULT onstop([out, retval] VARIANT* p);
        [id(0x00000434)]
        HRESULT createDocumentFragment([out, retval] IHTMLDocument2** pNewDoc);
        [id(0x00000436), propget, restricted, hidden]
        HRESULT parentDocument([out, retval] IHTMLDocument2** p);
        [id(0x00000437), propput, restricted, hidden]
        HRESULT enableDownload([in] VARIANT_BOOL p);
        [id(0x00000437), propget, restricted, hidden]
        HRESULT enableDownload([out, retval] VARIANT_BOOL* p);
        [id(0x00000438), propput, restricted, hidden]
        HRESULT baseUrl([in] BSTR p);
        [id(0x00000438), propget, restricted, hidden]
        HRESULT baseUrl([out, retval] BSTR* p);
        [id(0x80010419), propget]
        HRESULT childNodes([out, retval] IDispatch** p);
        [id(0x0000043a), propput, restricted, hidden]
        HRESULT inheritStyleSheets([in] VARIANT_BOOL p);
        [id(0x0000043a), propget, restricted, hidden]
        HRESULT inheritStyleSheets([out, retval] VARIANT_BOOL* p);
        [id(0x800117b5), propput, bindable, displaybind]
        HRESULT onbeforeeditfocus([in] VARIANT p);
        [id(0x800117b5), propget, bindable, displaybind]
        HRESULT onbeforeeditfocus([out, retval] VARIANT* p);
        [id(0x0000043e)]
        HRESULT getElementsByName(
                        [in] BSTR v, 
                        [out, retval] IHTMLElementCollection** pelColl);
        [id(0x00000440)]
        HRESULT getElementById(
                        [in] BSTR v, 
                        [out, retval] IHTMLElement** pel);
        [id(0x0000043f)]
        HRESULT getElementsByTagName(
                        [in] BSTR v, 
                        [out, retval] IHTMLElementCollection** pelColl);
    };

    [
      odl,
      uuid(3050F69A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDocument4 : IDispatch {
        [id(0x00000441)]
        HRESULT focus();
        [id(0x00000442)]
        HRESULT hasFocus([out, retval] VARIANT_BOOL* pfFocus);
        [id(0x800117c0), propput, bindable, displaybind]
        HRESULT onselectionchange([in] VARIANT p);
        [id(0x800117c0), propget, bindable, displaybind]
        HRESULT onselectionchange([out, retval] VARIANT* p);
        [id(0x00000443), propget]
        HRESULT namespaces([out, retval] IDispatch** p);
        [id(0x00000444)]
        HRESULT createDocumentFromUrl(
                        [in] BSTR bstrUrl, 
                        [in] BSTR bstrOptions, 
                        [out, retval] IHTMLDocument2** newDoc);
        [id(0x00000445), propput]
        HRESULT media([in] BSTR p);
        [id(0x00000445), propget]
        HRESULT media([out, retval] BSTR* p);
        [id(0x00000446)]
        HRESULT CreateEventObject(
                        [in, optional] VARIANT* pvarEventObject, 
                        [out, retval] IHTMLEventObj** ppEventObj);
        [id(0x00000447)]
        HRESULT FireEvent(
                        [in] BSTR bstrEventName, 
                        [in, optional] VARIANT* pvarEventObject, 
                        [out, retval] VARIANT_BOOL* pfCancelled);
        [id(0x00000448)]
        HRESULT createRenderStyle(
                        [in] BSTR v, 
                        [out, retval] IHTMLRenderStyle** ppIHTMLRenderStyle);
        [id(0x800117bf), propput, bindable, displaybind]
        HRESULT oncontrolselect([in] VARIANT p);
        [id(0x800117bf), propget, bindable, displaybind]
        HRESULT oncontrolselect([out, retval] VARIANT* p);
        [id(0x00000449), propget]
        HRESULT URLUnencoded([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F80C-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDocument5 : IDispatch {
        [id(0x800117bc), propput, bindable, displaybind]
        HRESULT onmousewheel([in] VARIANT p);
        [id(0x800117bc), propget, bindable, displaybind]
        HRESULT onmousewheel([out, retval] VARIANT* p);
        [id(0x0000044a), propget]
        HRESULT doctype([out, retval] IHTMLDOMNode** p);
        [id(0x0000044b), propget]
        HRESULT implementation([out, retval] IHTMLDOMImplementation** p);
        [id(0x0000044c)]
        HRESULT createAttribute(
                        [in] BSTR bstrattrName, 
                        [out, retval] IHTMLDOMAttribute** ppAttribute);
        [id(0x0000044d)]
        HRESULT createComment(
                        [in] BSTR bstrdata, 
                        [out, retval] IHTMLDOMNode** ppRetNode);
        [id(0x800117cb), propput, bindable, displaybind]
        HRESULT onfocusin([in] VARIANT p);
        [id(0x800117cb), propget, bindable, displaybind]
        HRESULT onfocusin([out, retval] VARIANT* p);
        [id(0x800117cc), propput, bindable, displaybind]
        HRESULT onfocusout([in] VARIANT p);
        [id(0x800117cc), propget, bindable, displaybind]
        HRESULT onfocusout([out, retval] VARIANT* p);
        [id(0x800117c7), propput, bindable, displaybind]
        HRESULT onactivate([in] VARIANT p);
        [id(0x800117c7), propget, bindable, displaybind]
        HRESULT onactivate([out, retval] VARIANT* p);
        [id(0x800117c8), propput, bindable, displaybind]
        HRESULT ondeactivate([in] VARIANT p);
        [id(0x800117c8), propget, bindable, displaybind]
        HRESULT ondeactivate([out, retval] VARIANT* p);
        [id(0x800117ca), propput, bindable, displaybind]
        HRESULT onbeforeactivate([in] VARIANT p);
        [id(0x800117ca), propget, bindable, displaybind]
        HRESULT onbeforeactivate([out, retval] VARIANT* p);
        [id(0x800117bd), propput, bindable, displaybind]
        HRESULT onbeforedeactivate([in] VARIANT p);
        [id(0x800117bd), propget, bindable, displaybind]
        HRESULT onbeforedeactivate([out, retval] VARIANT* p);
        [id(0x0000044e), propget]
        HRESULT compatMode([out, retval] BSTR* p);
    };

    [
      uuid(3050F55F-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDocument {
        properties:
        methods:
            [id(0x000003e9), propget, hidden]
            IDispatch* Script();
            [id(0x000003eb), propget]
            IHTMLElementCollection* all();
            [id(0x000003ec), propget]
            IHTMLElement* body();
            [id(0x000003ed), propget]
            IHTMLElement* activeElement();
            [id(0x000003f3), propget]
            IHTMLElementCollection* images();
            [id(0x000003f0), propget]
            IHTMLElementCollection* applets();
            [id(0x000003f1), propget]
            IHTMLElementCollection* links();
            [id(0x000003f2), propget]
            IHTMLElementCollection* forms();
            [id(0x000003ef), propget]
            IHTMLElementCollection* anchors();
            [id(0x000003f4), propput]
            void title(BSTR rhs);
            [id(0x000003f4), propget]
            BSTR title();
            [id(0x000003f5), propget]
            IHTMLElementCollection* scripts();
            [id(0x000003f6), propput, hidden]
            void designMode(BSTR rhs);
            [id(0x000003f6), propget, hidden]
            BSTR designMode();
            [id(0x000003f9), propget]
            IHTMLSelectionObject* selection();
            [id(0x000003fa), propget, bindable]
            BSTR readyState();
            [id(0x000003fb), propget]
            IHTMLFramesCollection2* frames();
            [id(0x000003f7), propget]
            IHTMLElementCollection* embeds();
            [id(0x000003fd), propget]
            IHTMLElementCollection* plugins();
            [id(0x000003fe), propput]
            void alinkColor(VARIANT rhs);
            [id(0x000003fe), propget]
            VARIANT alinkColor();
            [id(0xfffffe0b), propput]
            void bgColor(VARIANT rhs);
            [id(0xfffffe0b), propget]
            VARIANT bgColor();
            [id(0x8001138a), propput]
            void fgColor(VARIANT rhs);
            [id(0x8001138a), propget]
            VARIANT fgColor();
            [id(0x00000400), propput]
            void linkColor(VARIANT rhs);
            [id(0x00000400), propget]
            VARIANT linkColor();
            [id(0x000003ff), propput]
            void vlinkColor(VARIANT rhs);
            [id(0x000003ff), propget]
            VARIANT vlinkColor();
            [id(0x00000403), propget]
            BSTR referrer();
            [id(0x00000402), propget]
            IHTMLLocation* location();
            [id(0x00000404), propget]
            BSTR lastModified();
            [id(0x00000401), propput]
            void url(BSTR rhs);
            [id(0x00000401), propget]
            BSTR url();
            [id(0x00000405), propput]
            void domain(BSTR rhs);
            [id(0x00000405), propget]
            BSTR domain();
            [id(0x00000406), propput]
            void cookie(BSTR rhs);
            [id(0x00000406), propget]
            BSTR cookie();
            [id(0x00000407), propput, bindable, hidden]
            void expando(VARIANT_BOOL rhs);
            [id(0x00000407), propget, bindable, hidden]
            VARIANT_BOOL expando();
            [id(0x00000408), propput, hidden]
            void charset(BSTR rhs);
            [id(0x00000408), propget, hidden]
            BSTR charset();
            [id(0x00000409), propput]
            void defaultCharset(BSTR rhs);
            [id(0x00000409), propget]
            BSTR defaultCharset();
            [id(0x00000411), propget]
            BSTR mimeType();
            [id(0x00000412), propget]
            BSTR fileSize();
            [id(0x00000413), propget]
            BSTR fileCreatedDate();
            [id(0x00000414), propget]
            BSTR fileModifiedDate();
            [id(0x00000415), propget]
            BSTR fileUpdatedDate();
            [id(0x00000416), propget]
            BSTR security();
            [id(0x00000417), propget]
            BSTR protocol();
            [id(0x00000418), propget]
            BSTR nameProp();
            [id(0x0000041e), vararg]
            void write([in] SAFEARRAY(VARIANT) psarray);
            [id(0x0000041f), vararg]
            void writeln([in] SAFEARRAY(VARIANT) psarray);
            [id(0x00000420)]
            IDispatch* open(
                            [in, optional, defaultvalue("text/html")] BSTR url, 
                            [in, optional] VARIANT name, 
                            [in, optional] VARIANT features, 
                            [in, optional] VARIANT replace);
            [id(0x00000421)]
            void close();
            [id(0x00000422)]
            void clear();
            [id(0x00000423)]
            VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
            [id(0x00000424)]
            VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
            [id(0x00000425)]
            VARIANT_BOOL queryCommandState([in] BSTR cmdID);
            [id(0x00000426)]
            VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
            [id(0x00000427)]
            BSTR queryCommandText([in] BSTR cmdID);
            [id(0x00000428)]
            VARIANT queryCommandValue([in] BSTR cmdID);
            [id(0x00000429)]
            VARIANT_BOOL execCommand(
                            [in] BSTR cmdID, 
                            [in, optional, defaultvalue(0)] VARIANT_BOOL showUI, 
                            [in, optional] VARIANT value);
            [id(0x0000042a)]
            VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
            [id(0x0000042b)]
            IHTMLElement* createElement([in] BSTR eTag);
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x0000042c)]
            IHTMLElement* elementFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x0000040a), propget]
            IHTMLWindow2* parentWindow();
            [id(0x0000042d), propget]
            IHTMLStyleSheetsCollection* styleSheets();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x0000042e)]
            BSTR toString();
            [id(0x0000042f)]
            IHTMLStyleSheet* createStyleSheet(
                            [in, optional, defaultvalue("")] BSTR bstrHref, 
                            [in, optional, defaultvalue(-1)] long lIndex);
            [id(0x00000430)]
            void releaseCapture();
            [id(0x00000431)]
            void recalc([in, optional, defaultvalue(0)] VARIANT_BOOL fForce);
            [id(0x00000432)]
            IHTMLDOMNode* createTextNode([in] BSTR text);
            [id(0x00000433), propget]
            IHTMLElement* documentElement();
            [id(0x00000435), propget, hidden]
            BSTR uniqueID();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x800113fd), propput]
            void dir(BSTR rhs);
            [id(0x800113fd), propget]
            BSTR dir();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x800117b4), propput, bindable, displaybind]
            void onstop(VARIANT rhs);
            [id(0x800117b4), propget, bindable, displaybind]
            VARIANT onstop();
            [id(0x00000434)]
            IHTMLDocument2* createDocumentFragment();
            [id(0x00000436), propget, restricted, hidden]
            IHTMLDocument2* parentDocument();
            [id(0x00000437), propput, restricted, hidden]
            void enableDownload(VARIANT_BOOL rhs);
            [id(0x00000437), propget, restricted, hidden]
            VARIANT_BOOL enableDownload();
            [id(0x00000438), propput, restricted, hidden]
            void baseUrl(BSTR rhs);
            [id(0x00000438), propget, restricted, hidden]
            BSTR baseUrl();
            [id(0x0000043a), propput, restricted, hidden]
            void inheritStyleSheets(VARIANT_BOOL rhs);
            [id(0x0000043a), propget, restricted, hidden]
            VARIANT_BOOL inheritStyleSheets();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x0000043e)]
            IHTMLElementCollection* getElementsByName([in] BSTR v);
            [id(0x00000440)]
            IHTMLElement* getElementById([in] BSTR v);
            [id(0x0000043f)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x00000441)]
            void focus();
            [id(0x00000442)]
            VARIANT_BOOL hasFocus();
            [id(0x800117c0), propput, bindable, displaybind]
            void onselectionchange(VARIANT rhs);
            [id(0x800117c0), propget, bindable, displaybind]
            VARIANT onselectionchange();
            [id(0x00000443), propget]
            IDispatch* namespaces();
            [id(0x00000444)]
            IHTMLDocument2* createDocumentFromUrl(
                            [in] BSTR bstrUrl, 
                            [in] BSTR bstrOptions);
            [id(0x00000445), propput]
            void media(BSTR rhs);
            [id(0x00000445), propget]
            BSTR media();
            [id(0x00000446)]
            IHTMLEventObj* CreateEventObject([in, optional] VARIANT* pvarEventObject);
            [id(0x00000447)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x00000448)]
            IHTMLRenderStyle* createRenderStyle([in] BSTR v);
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x00000449), propget]
            BSTR URLUnencoded();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x0000044a), propget]
            IHTMLDOMNode* doctype();
            [id(0x0000044b), propget]
            IHTMLDOMImplementation* implementation();
            [id(0x0000044c)]
            IHTMLDOMAttribute* createAttribute([in] BSTR bstrattrName);
            [id(0x0000044d)]
            IHTMLDOMNode* createComment([in] BSTR bstrdata);
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x0000044e), propget]
            BSTR compatMode();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
    };

    [
      uuid(25336920-03F9-11CF-8FD0-00AA00686F13)
    ]
    coclass HTMLDocument {
        [default] dispinterface DispHTMLDocument;
        [default, source] dispinterface HTMLDocumentEvents;
        [source] dispinterface HTMLDocumentEvents2;
        interface IHTMLDocument2;
        interface IHTMLDocument3;
        interface IHTMLDocument4;
        interface IHTMLDocument5;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
    };

    [
      uuid(A6D897FF-0A95-11D1-B0BA-006008166E11),
      hidden
    ]
    dispinterface DWebBridgeEvents {
        properties:
        methods:
            [id(0x00000001)]
            void onscriptletevent(
                            [in] BSTR name, 
                            [in] VARIANT eventData);
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda1)]
            void onmouseup();
    };

    [
      odl,
      uuid(AE24FDAD-03C6-11D1-8B76-0080C744F389),
      dual,
      oleautomation
    ]
    interface IWebBridge : IDispatch {
        [id(0x00000001), propput]
        HRESULT url([in] BSTR p);
        [id(0x00000001), propget]
        HRESULT url([out, retval] BSTR* p);
        [id(0x00000002), propput]
        HRESULT Scrollbar([in] VARIANT_BOOL p);
        [id(0x00000002), propget]
        HRESULT Scrollbar([out, retval] VARIANT_BOOL* p);
        [id(0x00000003), propput]
        HRESULT embed([in] VARIANT_BOOL p);
        [id(0x00000003), propget]
        HRESULT embed([out, retval] VARIANT_BOOL* p);
        [id(0x00000480), propget]
        HRESULT event([out, retval] IDispatch** p);
        [id(0xfffffdf3), propget]
        HRESULT readyState([out, retval] long* p);
        [id(0xfffffdd8)]
        HRESULT AboutBox();
    };

    [
      odl,
      uuid(A5170870-0CF8-11D1-8B91-0080C744F389),
      dual,
      oleautomation
    ]
    interface IWBScriptControl : IDispatch {
        [id(0x00000001)]
        HRESULT raiseEvent(
                        [in] BSTR name, 
                        [in] VARIANT eventData);
        [id(0x00000002)]
        HRESULT bubbleEvent();
        [id(0x00000003)]
        HRESULT setContextMenu([in] VARIANT menuItemPairs);
        [id(0x00000004), propput]
        HRESULT selectableContent([in] VARIANT_BOOL p);
        [id(0x00000004), propget]
        HRESULT selectableContent([out, retval] VARIANT_BOOL* p);
        [id(0x00000005), propget]
        HRESULT frozen([out, retval] VARIANT_BOOL* p);
        [id(0x00000007), propput]
        HRESULT Scrollbar([in] VARIANT_BOOL p);
        [id(0x00000007), propget]
        HRESULT Scrollbar([out, retval] VARIANT_BOOL* p);
        [id(0x00000008), propget]
        HRESULT version([out, retval] BSTR* p);
        [id(0x00000009), propget]
        HRESULT visibility([out, retval] VARIANT_BOOL* p);
        [id(0x0000000a), propput]
        HRESULT onvisibilitychange([in] VARIANT p);
        [id(0x0000000a), propget]
        HRESULT onvisibilitychange([out, retval] VARIANT* p);
    };

    [
      uuid(AE24FDAE-03C6-11D1-8B76-0080C744F389),
      control
    ]
    coclass Scriptlet {
        [default] interface IWebBridge;
        [default, source] dispinterface DWebBridgeEvents;
    };

    typedef enum {
        True = 1,
        False = 0,
        BoolValue_Max = 0x7fffffff
    } _BoolValue;

    [
      odl,
      uuid(3050F25F-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLEmbedElement : IDispatch {
        [id(0x80010bc2), propput]
        HRESULT hidden([in] BSTR p);
        [id(0x80010bc2), propget]
        HRESULT hidden([out, retval] BSTR* p);
        [id(0x80010bbc), propget]
        HRESULT palette([out, retval] BSTR* p);
        [id(0x80010bbd), propget]
        HRESULT pluginspage([out, retval] BSTR* p);
        [id(0x80010bbe), propput]
        HRESULT src([in] BSTR p);
        [id(0x80010bbe), propget]
        HRESULT src([out, retval] BSTR* p);
        [id(0x80010bc0), propput]
        HRESULT units([in] BSTR p);
        [id(0x80010bc0), propget]
        HRESULT units([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propput]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] VARIANT* p);
    };

    [
      uuid(3050F52E-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLEmbed {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80010bc2), propput]
            void hidden(BSTR rhs);
            [id(0x80010bc2), propget]
            BSTR hidden();
            [id(0x80010bbc), propget]
            BSTR palette();
            [id(0x80010bbd), propget]
            BSTR pluginspage();
            [id(0x80010bbe), propput]
            void src(BSTR rhs);
            [id(0x80010bbe), propget]
            BSTR src();
            [id(0x80010bc0), propput]
            void units(BSTR rhs);
            [id(0x80010bc0), propget]
            BSTR units();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
            [id(0x80010006), propput]
            void height(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT height();
    };

    [
      uuid(3050F25D-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLEmbed {
        [default] dispinterface DispHTMLEmbed;
        [default, source] dispinterface HTMLControlElementEvents;
        [source] dispinterface HTMLControlElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLControlElement;
        interface IHTMLEmbedElement;
    };

    [
      uuid(3050F61E-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLMapEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F3BA-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLMapEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
    };

    [
      odl,
      uuid(3050F383-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAreasCollection : IDispatch {
        [id(0x000005dc), propput]
        HRESULT length([in] long p);
        [id(0x000005dc), propget]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in, optional] VARIANT name, 
                        [in, optional] VARIANT index, 
                        [out, retval] IDispatch** pdisp);
        [id(0x000005de)]
        HRESULT tags(
                        [in] VARIANT tagName, 
                        [out, retval] IDispatch** pdisp);
        [id(0x000005df)]
        HRESULT add(
                        [in] IHTMLElement* element, 
                        [in, optional] VARIANT before);
        [id(0x000005e0)]
        HRESULT remove([in, optional, defaultvalue(-1)] long index);
    };

    [
      odl,
      uuid(3050F5EC-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAreasCollection2 : IDispatch {
        [id(0x000005e1)]
        HRESULT urns(
                        [in] VARIANT urn, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F837-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAreasCollection3 : IDispatch {
        [id(0x000005e2)]
        HRESULT namedItem(
                        [in] BSTR name, 
                        [out, retval] IDispatch** pdisp);
    };

    [
      odl,
      uuid(3050F266-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLMapElement : IDispatch {
        [id(0x000003ea), propget]
        HRESULT areas([out, retval] IHTMLAreasCollection** p);
        [id(0x80010000), propput]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget]
        HRESULT name([out, retval] BSTR* p);
    };

    [
      uuid(3050F56A-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLAreasCollection {
        properties:
        methods:
            [id(0x000005dc), propput]
            void length(long rhs);
            [id(0x000005dc), propget]
            long length();
            [id(0xfffffffc), propget, restricted, hidden]
            IUnknown* _newEnum();
            [id(00000000)]
            IDispatch* item(
                            [in, optional] VARIANT name, 
                            [in, optional] VARIANT index);
            [id(0x000005de)]
            IDispatch* tags([in] VARIANT tagName);
            [id(0x000005df)]
            void add(
                            [in] IHTMLElement* element, 
                            [in, optional] VARIANT before);
            [id(0x000005e0)]
            void remove([in, optional, defaultvalue(-1)] long index);
            [id(0x000005e1)]
            IDispatch* urns([in] VARIANT urn);
            [id(0x000005e2)]
            IDispatch* namedItem([in] BSTR name);
    };

    [
      uuid(3050F4CA-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLAreasCollection {
        [default] dispinterface DispHTMLAreasCollection;
        interface IHTMLAreasCollection;
        interface IHTMLAreasCollection2;
        interface IHTMLAreasCollection3;
    };

    [
      uuid(3050F526-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLMapElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003ea), propget]
            IHTMLAreasCollection* areas();
            [id(0x80010000), propput]
            void name(BSTR rhs);
            [id(0x80010000), propget]
            BSTR name();
    };

    [
      uuid(3050F271-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLMapElement {
        [default] dispinterface DispHTMLMapElement;
        [default, source] dispinterface HTMLMapEvents;
        [source] dispinterface HTMLMapEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLMapElement;
    };

    [
      uuid(3050F611-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLAreaEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F366-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLAreaEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
    };

    [
      odl,
      uuid(3050F265-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAreaElement : IDispatch {
        [id(0x000003e9), propput]
        HRESULT shape([in] BSTR p);
        [id(0x000003e9), propget]
        HRESULT shape([out, retval] BSTR* p);
        [id(0x000003ea), propput]
        HRESULT coords([in] BSTR p);
        [id(0x000003ea), propget]
        HRESULT coords([out, retval] BSTR* p);
        [id(00000000), propput]
        HRESULT href([in] BSTR p);
        [id(00000000), propget]
        HRESULT href([out, retval] BSTR* p);
        [id(0x000003ec), propput]
        HRESULT target([in] BSTR p);
        [id(0x000003ec), propget]
        HRESULT target([out, retval] BSTR* p);
        [id(0x000003ed), propput]
        HRESULT alt([in] BSTR p);
        [id(0x000003ed), propget]
        HRESULT alt([out, retval] BSTR* p);
        [id(0x000003ee), propput]
        HRESULT noHref([in] VARIANT_BOOL p);
        [id(0x000003ee), propget]
        HRESULT noHref([out, retval] VARIANT_BOOL* p);
        [id(0x000003ef), propput]
        HRESULT host([in] BSTR p);
        [id(0x000003ef), propget]
        HRESULT host([out, retval] BSTR* p);
        [id(0x000003f0), propput]
        HRESULT hostname([in] BSTR p);
        [id(0x000003f0), propget]
        HRESULT hostname([out, retval] BSTR* p);
        [id(0x000003f1), propput]
        HRESULT pathname([in] BSTR p);
        [id(0x000003f1), propget]
        HRESULT pathname([out, retval] BSTR* p);
        [id(0x000003f2), propput]
        HRESULT port([in] BSTR p);
        [id(0x000003f2), propget]
        HRESULT port([out, retval] BSTR* p);
        [id(0x000003f3), propput]
        HRESULT protocol([in] BSTR p);
        [id(0x000003f3), propget]
        HRESULT protocol([out, retval] BSTR* p);
        [id(0x000003f4), propput]
        HRESULT search([in] BSTR p);
        [id(0x000003f4), propget]
        HRESULT search([out, retval] BSTR* p);
        [id(0x000003f5), propput]
        HRESULT hash([in] BSTR p);
        [id(0x000003f5), propget]
        HRESULT hash([out, retval] BSTR* p);
        [id(0x8001177f), propput, bindable, displaybind]
        HRESULT onblur([in] VARIANT p);
        [id(0x8001177f), propget, bindable, displaybind]
        HRESULT onblur([out, retval] VARIANT* p);
        [id(0x8001177e), propput, bindable, displaybind]
        HRESULT onfocus([in] VARIANT p);
        [id(0x8001177e), propget, bindable, displaybind]
        HRESULT onfocus([out, retval] VARIANT* p);
        [id(0x8001000f), propput, bindable, displaybind]
        HRESULT tabIndex([in] short p);
        [id(0x8001000f), propget, bindable, displaybind]
        HRESULT tabIndex([out, retval] short* p);
        [id(0x800107d0)]
        HRESULT focus();
        [id(0x800107d2)]
        HRESULT blur();
    };

    [
      uuid(3050F503-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLAreaElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput]
            void shape(BSTR rhs);
            [id(0x000003e9), propget]
            BSTR shape();
            [id(0x000003ea), propput]
            void coords(BSTR rhs);
            [id(0x000003ea), propget]
            BSTR coords();
            [id(00000000), propput]
            void href(BSTR rhs);
            [id(00000000), propget]
            BSTR href();
            [id(0x000003ec), propput]
            void target(BSTR rhs);
            [id(0x000003ec), propget]
            BSTR target();
            [id(0x000003ed), propput]
            void alt(BSTR rhs);
            [id(0x000003ed), propget]
            BSTR alt();
            [id(0x000003ee), propput]
            void noHref(VARIANT_BOOL rhs);
            [id(0x000003ee), propget]
            VARIANT_BOOL noHref();
            [id(0x000003ef), propput]
            void host(BSTR rhs);
            [id(0x000003ef), propget]
            BSTR host();
            [id(0x000003f0), propput]
            void hostname(BSTR rhs);
            [id(0x000003f0), propget]
            BSTR hostname();
            [id(0x000003f1), propput]
            void pathname(BSTR rhs);
            [id(0x000003f1), propget]
            BSTR pathname();
            [id(0x000003f2), propput]
            void port(BSTR rhs);
            [id(0x000003f2), propget]
            BSTR port();
            [id(0x000003f3), propput]
            void protocol(BSTR rhs);
            [id(0x000003f3), propget]
            BSTR protocol();
            [id(0x000003f4), propput]
            void search(BSTR rhs);
            [id(0x000003f4), propget]
            BSTR search();
            [id(0x000003f5), propput]
            void hash(BSTR rhs);
            [id(0x000003f5), propget]
            BSTR hash();
    };

    [
      uuid(3050F283-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLAreaElement {
        [default] dispinterface DispHTMLAreaElement;
        [default, source] dispinterface HTMLAreaEvents;
        [source] dispinterface HTMLAreaEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLAreaElement;
    };

    typedef enum {
        htmlCaptionAlignNotSet = 0,
        htmlCaptionAlignLeft = 1,
        htmlCaptionAlignCenter = 2,
        htmlCaptionAlignRight = 3,
        htmlCaptionAlignJustify = 4,
        htmlCaptionAlignTop = 5,
        htmlCaptionAlignBottom = 6,
        htmlCaptionAlign_Max = 0x7fffffff
    } _htmlCaptionAlign;

    typedef enum {
        htmlCaptionVAlignNotSet = 0,
        htmlCaptionVAlignTop = 1,
        htmlCaptionVAlignBottom = 2,
        htmlCaptionVAlign_Max = 0x7fffffff
    } _htmlCaptionVAlign;

    [
      odl,
      uuid(3050F2EB-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableCaption : IDispatch {
        [id(0x80010048), propput]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget]
        HRESULT align([out, retval] BSTR* p);
        [id(0x800113a7), propput]
        HRESULT vAlign([in] BSTR p);
        [id(0x800113a7), propget]
        HRESULT vAlign([out, retval] BSTR* p);
    };

    [
      uuid(3050F508-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTableCaption {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80010048), propput]
            void align(BSTR rhs);
            [id(0x80010048), propget]
            BSTR align();
            [id(0x800113a7), propput]
            void vAlign(BSTR rhs);
            [id(0x800113a7), propget]
            BSTR vAlign();
    };

    [
      uuid(3050F2EC-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTableCaption {
        [default] dispinterface DispHTMLTableCaption;
        [default, source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLTableCaption;
    };

    [
      odl,
      uuid(3050F20C-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLCommentElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT text([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT text([out, retval] BSTR* p);
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT atomic([in] long p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT atomic([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F813-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLCommentElement2 : IDispatch {
        [id(0x000003eb), propput]
        HRESULT data([in] BSTR p);
        [id(0x000003eb), propget]
        HRESULT data([out, retval] BSTR* p);
        [id(0x000003ec), propget]
        HRESULT length([out, retval] long* p);
        [id(0x000003ed)]
        HRESULT substringData(
                        [in] long offset, 
                        [in] long Count, 
                        [out, retval] BSTR* pbstrsubString);
        [id(0x000003ee)]
        HRESULT appendData([in] BSTR bstrstring);
        [id(0x000003ef)]
        HRESULT insertData(
                        [in] long offset, 
                        [in] BSTR bstrstring);
        [id(0x000003f0)]
        HRESULT deleteData(
                        [in] long offset, 
                        [in] long Count);
        [id(0x000003f1)]
        HRESULT replaceData(
                        [in] long offset, 
                        [in] long Count, 
                        [in] BSTR bstrstring);
    };

    [
      uuid(3050F50A-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLCommentElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void text(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR text();
            [id(0x000003ea), propput, bindable, displaybind]
            void atomic(long rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            long atomic();
            [id(0x000003eb), propput]
            void data(BSTR rhs);
            [id(0x000003eb), propget]
            BSTR data();
            [id(0x000003ec), propget]
            long length();
            [id(0x000003ed)]
            BSTR substringData(
                            [in] long offset, 
                            [in] long Count);
            [id(0x000003ee)]
            void appendData([in] BSTR bstrstring);
            [id(0x000003ef)]
            void insertData(
                            [in] long offset, 
                            [in] BSTR bstrstring);
            [id(0x000003f0)]
            void deleteData(
                            [in] long offset, 
                            [in] long Count);
            [id(0x000003f1)]
            void replaceData(
                            [in] long offset, 
                            [in] long Count, 
                            [in] BSTR bstrstring);
    };

    [
      uuid(3050F317-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLCommentElement {
        [default] dispinterface DispHTMLCommentElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLCommentElement;
        interface IHTMLCommentElement2;
    };

    [
      odl,
      uuid(3050F20A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLPhraseElement : IDispatch {
    };

    [
      odl,
      uuid(3050F824-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLPhraseElement2 : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT cite([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT cite([out, retval] BSTR* p);
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT dateTime([in] BSTR p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT dateTime([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F3F3-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLSpanElement : IDispatch {
    };

    [
      uuid(3050F52D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLPhraseElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void cite(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR cite();
            [id(0x000003ea), propput, bindable, displaybind]
            void dateTime(BSTR rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            BSTR dateTime();
    };

    [
      uuid(3050F26E-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLPhraseElement {
        [default] dispinterface DispHTMLPhraseElement;
        [default, source] dispinterface HTMLElementEvents;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLPhraseElement;
        interface IHTMLPhraseElement2;
    };

    [
      uuid(3050F548-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLSpanElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
    };

    [
      uuid(3050F3F5-98B4-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLSpanElement {
        [default] dispinterface DispHTMLSpanElement;
        [default, source] dispinterface HTMLElementEvents;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLPhraseElement;
        interface IHTMLSpanElement;
        interface IHTMLControlElement;
    };

    [
      uuid(3050F623-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLTableEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F407-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLTableEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
    };

    typedef enum {
        htmlFrameNotSet = 0,
        htmlFramevoid = 1,
        htmlFrameabove = 2,
        htmlFramebelow = 3,
        htmlFramehsides = 4,
        htmlFramelhs = 5,
        htmlFramerhs = 6,
        htmlFramevsides = 7,
        htmlFramebox = 8,
        htmlFrameborder = 9,
        htmlFrame_Max = 0x7fffffff
    } _htmlFrame;

    typedef enum {
        htmlRulesNotSet = 0,
        htmlRulesnone = 1,
        htmlRulesgroups = 2,
        htmlRulesrows = 3,
        htmlRulescols = 4,
        htmlRulesall = 5,
        htmlRules_Max = 0x7fffffff
    } _htmlRules;

    typedef enum {
        htmlCellAlignNotSet = 0,
        htmlCellAlignLeft = 1,
        htmlCellAlignCenter = 2,
        htmlCellAlignRight = 3,
        htmlCellAlignMiddle = 2,
        htmlCellAlign_Max = 0x7fffffff
    } _htmlCellAlign;

    typedef enum {
        htmlCellVAlignNotSet = 0,
        htmlCellVAlignTop = 1,
        htmlCellVAlignMiddle = 2,
        htmlCellVAlignBottom = 3,
        htmlCellVAlignBaseline = 4,
        htmlCellVAlignCenter = 2,
        htmlCellVAlign_Max = 0x7fffffff
    } _htmlCellVAlign;

    [
      odl,
      uuid(3050F23B-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableSection : IDispatch {
        [id(0x80010048), propput]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget]
        HRESULT align([out, retval] BSTR* p);
        [id(0x800113a7), propput]
        HRESULT vAlign([in] BSTR p);
        [id(0x800113a7), propget]
        HRESULT vAlign([out, retval] BSTR* p);
        [id(0xfffffe0b), propput]
        HRESULT bgColor([in] VARIANT p);
        [id(0xfffffe0b), propget]
        HRESULT bgColor([out, retval] VARIANT* p);
        [id(0x000003e8), propget]
        HRESULT rows([out, retval] IHTMLElementCollection** p);
        [id(0x000003e9)]
        HRESULT insertRow(
                        [in, optional, defaultvalue(-1)] long index, 
                        [out, retval] IDispatch** row);
        [id(0x000003ea)]
        HRESULT deleteRow([in, optional, defaultvalue(-1)] long index);
    };

    [
      odl,
      uuid(3050F21E-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTable : IDispatch {
        [id(0x000003e9), propput]
        HRESULT cols([in] long p);
        [id(0x000003e9), propget]
        HRESULT cols([out, retval] long* p);
        [id(0x000003ea), propput]
        HRESULT border([in] VARIANT p);
        [id(0x000003ea), propget]
        HRESULT border([out, retval] VARIANT* p);
        [id(0x000003ec), propput]
        HRESULT frame([in] BSTR p);
        [id(0x000003ec), propget]
        HRESULT frame([out, retval] BSTR* p);
        [id(0x000003eb), propput]
        HRESULT rules([in] BSTR p);
        [id(0x000003eb), propget]
        HRESULT rules([out, retval] BSTR* p);
        [id(0x000003ed), propput]
        HRESULT cellSpacing([in] VARIANT p);
        [id(0x000003ed), propget]
        HRESULT cellSpacing([out, retval] VARIANT* p);
        [id(0x000003ee), propput]
        HRESULT cellPadding([in] VARIANT p);
        [id(0x000003ee), propget]
        HRESULT cellPadding([out, retval] VARIANT* p);
        [id(0x80011389), propput]
        HRESULT background([in] BSTR p);
        [id(0x80011389), propget]
        HRESULT background([out, retval] BSTR* p);
        [id(0xfffffe0b), propput]
        HRESULT bgColor([in] VARIANT p);
        [id(0xfffffe0b), propget]
        HRESULT bgColor([out, retval] VARIANT* p);
        [id(0x800113a4), propput]
        HRESULT borderColor([in] VARIANT p);
        [id(0x800113a4), propget]
        HRESULT borderColor([out, retval] VARIANT* p);
        [id(0x800113a5), propput]
        HRESULT borderColorLight([in] VARIANT p);
        [id(0x800113a5), propget]
        HRESULT borderColorLight([out, retval] VARIANT* p);
        [id(0x800113a6), propput]
        HRESULT borderColorDark([in] VARIANT p);
        [id(0x800113a6), propget]
        HRESULT borderColorDark([out, retval] VARIANT* p);
        [id(0x80010049), propput]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget]
        HRESULT align([out, retval] BSTR* p);
        [id(0x000003f7)]
        HRESULT refresh();
        [id(0x000003f8), propget]
        HRESULT rows([out, retval] IHTMLElementCollection** p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propput]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x000003f9), propput]
        HRESULT dataPageSize([in] long p);
        [id(0x000003f9), propget]
        HRESULT dataPageSize([out, retval] long* p);
        [id(0x000003fa)]
        HRESULT nextPage();
        [id(0x000003fb)]
        HRESULT previousPage();
        [id(0x000003fc), propget]
        HRESULT tHead([out, retval] IHTMLTableSection** p);
        [id(0x000003fd), propget]
        HRESULT tFoot([out, retval] IHTMLTableSection** p);
        [id(0x00000400), propget]
        HRESULT tBodies([out, retval] IHTMLElementCollection** p);
        [id(0x00000401), propget]
        HRESULT caption([out, retval] IHTMLTableCaption** p);
        [id(0x00000402)]
        HRESULT createTHead([out, retval] IDispatch** head);
        [id(0x00000403)]
        HRESULT deleteTHead();
        [id(0x00000404)]
        HRESULT createTFoot([out, retval] IDispatch** foot);
        [id(0x00000405)]
        HRESULT deleteTFoot();
        [id(0x00000406)]
        HRESULT createCaption([out, retval] IHTMLTableCaption** caption);
        [id(0x00000407)]
        HRESULT deleteCaption();
        [id(0x00000408)]
        HRESULT insertRow(
                        [in, optional, defaultvalue(-1)] long index, 
                        [out, retval] IDispatch** row);
        [id(0x00000409)]
        HRESULT deleteRow([in, optional, defaultvalue(-1)] long index);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x80011789), propput, bindable, displaybind]
        HRESULT onreadystatechange([in] VARIANT p);
        [id(0x80011789), propget, bindable, displaybind]
        HRESULT onreadystatechange([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F4AD-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTable2 : IDispatch {
        [id(0x0000040b)]
        HRESULT firstPage();
        [id(0x0000040c)]
        HRESULT lastPage();
        [id(0x0000040d), propget]
        HRESULT cells([out, retval] IHTMLElementCollection** p);
        [id(0x0000040e)]
        HRESULT moveRow(
                        [in, optional, defaultvalue(-1)] long indexFrom, 
                        [in, optional, defaultvalue(-1)] long indexTo, 
                        [out, retval] IDispatch** row);
    };

    [
      odl,
      uuid(3050F829-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTable3 : IDispatch {
        [id(0x0000040f), propput, bindable, displaybind]
        HRESULT summary([in] BSTR p);
        [id(0x0000040f), propget, bindable, displaybind]
        HRESULT summary([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F23A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableCol : IDispatch {
        [id(0x000003e9), propput]
        HRESULT span([in] long p);
        [id(0x000003e9), propget]
        HRESULT span([out, retval] long* p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010048), propput]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget]
        HRESULT align([out, retval] BSTR* p);
        [id(0x800113a7), propput]
        HRESULT vAlign([in] BSTR p);
        [id(0x800113a7), propget]
        HRESULT vAlign([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F82A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableCol2 : IDispatch {
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT ch([in] BSTR p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT ch([out, retval] BSTR* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT chOff([in] BSTR p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT chOff([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F5C7-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableSection2 : IDispatch {
        [id(0x000003eb)]
        HRESULT moveRow(
                        [in, optional, defaultvalue(-1)] long indexFrom, 
                        [in, optional, defaultvalue(-1)] long indexTo, 
                        [out, retval] IDispatch** row);
    };

    [
      odl,
      uuid(3050F82B-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableSection3 : IDispatch {
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT ch([in] BSTR p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT ch([out, retval] BSTR* p);
        [id(0x000003ed), propput, bindable, displaybind]
        HRESULT chOff([in] BSTR p);
        [id(0x000003ed), propget, bindable, displaybind]
        HRESULT chOff([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F23C-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableRow : IDispatch {
        [id(0x80010048), propput]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget]
        HRESULT align([out, retval] BSTR* p);
        [id(0x800113a7), propput]
        HRESULT vAlign([in] BSTR p);
        [id(0x800113a7), propget]
        HRESULT vAlign([out, retval] BSTR* p);
        [id(0xfffffe0b), propput]
        HRESULT bgColor([in] VARIANT p);
        [id(0xfffffe0b), propget]
        HRESULT bgColor([out, retval] VARIANT* p);
        [id(0x800113a4), propput]
        HRESULT borderColor([in] VARIANT p);
        [id(0x800113a4), propget]
        HRESULT borderColor([out, retval] VARIANT* p);
        [id(0x800113a5), propput]
        HRESULT borderColorLight([in] VARIANT p);
        [id(0x800113a5), propget]
        HRESULT borderColorLight([out, retval] VARIANT* p);
        [id(0x800113a6), propput]
        HRESULT borderColorDark([in] VARIANT p);
        [id(0x800113a6), propget]
        HRESULT borderColorDark([out, retval] VARIANT* p);
        [id(0x000003e8), propget]
        HRESULT rowIndex([out, retval] long* p);
        [id(0x000003e9), propget]
        HRESULT sectionRowIndex([out, retval] long* p);
        [id(0x000003ea), propget]
        HRESULT cells([out, retval] IHTMLElementCollection** p);
        [id(0x000003eb)]
        HRESULT insertCell(
                        [in, optional, defaultvalue(-1)] long index, 
                        [out, retval] IDispatch** row);
        [id(0x000003ec)]
        HRESULT deleteCell([in, optional, defaultvalue(-1)] long index);
    };

    [
      odl,
      uuid(3050F4A1-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableRow2 : IDispatch {
        [id(0x80010006), propput]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F82C-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableRow3 : IDispatch {
        [id(0x000003f1), propput, bindable, displaybind]
        HRESULT ch([in] BSTR p);
        [id(0x000003f1), propget, bindable, displaybind]
        HRESULT ch([out, retval] BSTR* p);
        [id(0x000003f2), propput, bindable, displaybind]
        HRESULT chOff([in] BSTR p);
        [id(0x000003f2), propget, bindable, displaybind]
        HRESULT chOff([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F413-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableRowMetrics : IDispatch {
        [id(0x800107e3), propget, bindable, displaybind]
        HRESULT clientHeight([out, retval] long* p);
        [id(0x800107e4), propget, bindable, displaybind]
        HRESULT clientWidth([out, retval] long* p);
        [id(0x800107e5), propget, bindable, displaybind]
        HRESULT clientTop([out, retval] long* p);
        [id(0x800107e6), propget, bindable, displaybind]
        HRESULT clientLeft([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F23D-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableCell : IDispatch {
        [id(0x000007d1), propput]
        HRESULT rowSpan([in] long p);
        [id(0x000007d1), propget]
        HRESULT rowSpan([out, retval] long* p);
        [id(0x000007d2), propput]
        HRESULT colSpan([in] long p);
        [id(0x000007d2), propget]
        HRESULT colSpan([out, retval] long* p);
        [id(0x80010048), propput]
        HRESULT align([in] BSTR p);
        [id(0x80010048), propget]
        HRESULT align([out, retval] BSTR* p);
        [id(0x800113a7), propput]
        HRESULT vAlign([in] BSTR p);
        [id(0x800113a7), propget]
        HRESULT vAlign([out, retval] BSTR* p);
        [id(0xfffffe0b), propput]
        HRESULT bgColor([in] VARIANT p);
        [id(0xfffffe0b), propget]
        HRESULT bgColor([out, retval] VARIANT* p);
        [id(0x8001138d), propput]
        HRESULT noWrap([in] VARIANT_BOOL p);
        [id(0x8001138d), propget]
        HRESULT noWrap([out, retval] VARIANT_BOOL* p);
        [id(0x80011389), propput]
        HRESULT background([in] BSTR p);
        [id(0x80011389), propget]
        HRESULT background([out, retval] BSTR* p);
        [id(0x800113a4), propput]
        HRESULT borderColor([in] VARIANT p);
        [id(0x800113a4), propget]
        HRESULT borderColor([out, retval] VARIANT* p);
        [id(0x800113a5), propput]
        HRESULT borderColorLight([in] VARIANT p);
        [id(0x800113a5), propget]
        HRESULT borderColorLight([out, retval] VARIANT* p);
        [id(0x800113a6), propput]
        HRESULT borderColorDark([in] VARIANT p);
        [id(0x800113a6), propget]
        HRESULT borderColorDark([out, retval] VARIANT* p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propput]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x000007d3), propget]
        HRESULT cellIndex([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F82D-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLTableCell2 : IDispatch {
        [id(0x000007d4), propput, bindable, displaybind]
        HRESULT abbr([in] BSTR p);
        [id(0x000007d4), propget, bindable, displaybind]
        HRESULT abbr([out, retval] BSTR* p);
        [id(0x000007d5), propput, bindable, displaybind]
        HRESULT axis([in] BSTR p);
        [id(0x000007d5), propget, bindable, displaybind]
        HRESULT axis([out, retval] BSTR* p);
        [id(0x000007d6), propput, bindable, displaybind]
        HRESULT ch([in] BSTR p);
        [id(0x000007d6), propget, bindable, displaybind]
        HRESULT ch([out, retval] BSTR* p);
        [id(0x000007d7), propput, bindable, displaybind]
        HRESULT chOff([in] BSTR p);
        [id(0x000007d7), propget, bindable, displaybind]
        HRESULT chOff([out, retval] BSTR* p);
        [id(0x000007d8), propput, bindable, displaybind]
        HRESULT headers([in] BSTR p);
        [id(0x000007d8), propget, bindable, displaybind]
        HRESULT headers([out, retval] BSTR* p);
        [id(0x000007d9), propput, bindable, displaybind]
        HRESULT scope([in] BSTR p);
        [id(0x000007d9), propget, bindable, displaybind]
        HRESULT scope([out, retval] BSTR* p);
    };

    [
      uuid(3050F532-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTable {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x000003e9), propput]
            void cols(long rhs);
            [id(0x000003e9), propget]
            long cols();
            [id(0x000003ea), propput]
            void border(VARIANT rhs);
            [id(0x000003ea), propget]
            VARIANT border();
            [id(0x000003ec), propput]
            void frame(BSTR rhs);
            [id(0x000003ec), propget]
            BSTR frame();
            [id(0x000003eb), propput]
            void rules(BSTR rhs);
            [id(0x000003eb), propget]
            BSTR rules();
            [id(0x000003ed), propput]
            void cellSpacing(VARIANT rhs);
            [id(0x000003ed), propget]
            VARIANT cellSpacing();
            [id(0x000003ee), propput]
            void cellPadding(VARIANT rhs);
            [id(0x000003ee), propget]
            VARIANT cellPadding();
            [id(0x80011389), propput]
            void background(BSTR rhs);
            [id(0x80011389), propget]
            BSTR background();
            [id(0xfffffe0b), propput]
            void bgColor(VARIANT rhs);
            [id(0xfffffe0b), propget]
            VARIANT bgColor();
            [id(0x800113a4), propput]
            void borderColor(VARIANT rhs);
            [id(0x800113a4), propget]
            VARIANT borderColor();
            [id(0x800113a5), propput]
            void borderColorLight(VARIANT rhs);
            [id(0x800113a5), propget]
            VARIANT borderColorLight();
            [id(0x800113a6), propput]
            void borderColorDark(VARIANT rhs);
            [id(0x800113a6), propget]
            VARIANT borderColorDark();
            [id(0x80010049), propput]
            void align(BSTR rhs);
            [id(0x80010049), propget]
            BSTR align();
            [id(0x000003f7)]
            void refresh();
            [id(0x000003f8), propget]
            IHTMLElementCollection* rows();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
            [id(0x80010006), propput]
            void height(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT height();
            [id(0x000003f9), propput]
            void dataPageSize(long rhs);
            [id(0x000003f9), propget]
            long dataPageSize();
            [id(0x000003fa)]
            void nextPage();
            [id(0x000003fb)]
            void previousPage();
            [id(0x000003fc), propget]
            IHTMLTableSection* tHead();
            [id(0x000003fd), propget]
            IHTMLTableSection* tFoot();
            [id(0x00000400), propget]
            IHTMLElementCollection* tBodies();
            [id(0x00000401), propget]
            IHTMLTableCaption* caption();
            [id(0x00000402)]
            IDispatch* createTHead();
            [id(0x00000403)]
            void deleteTHead();
            [id(0x00000404)]
            IDispatch* createTFoot();
            [id(0x00000405)]
            void deleteTFoot();
            [id(0x00000406)]
            IHTMLTableCaption* createCaption();
            [id(0x00000407)]
            void deleteCaption();
            [id(0x00000408)]
            IDispatch* insertRow([in, optional, defaultvalue(-1)] long index);
            [id(0x00000409)]
            void deleteRow([in, optional, defaultvalue(-1)] long index);
            [id(0x0000040b)]
            void firstPage();
            [id(0x0000040c)]
            void lastPage();
            [id(0x0000040d), propget]
            IHTMLElementCollection* cells();
            [id(0x0000040e)]
            IDispatch* moveRow(
                            [in, optional, defaultvalue(-1)] long indexFrom, 
                            [in, optional, defaultvalue(-1)] long indexTo);
            [id(0x0000040f), propput, bindable, displaybind]
            void summary(BSTR rhs);
            [id(0x0000040f), propget, bindable, displaybind]
            BSTR summary();
    };

    [
      uuid(3050F26B-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTable {
        [default] dispinterface DispHTMLTable;
        [default, source] dispinterface HTMLTableEvents;
        [source] dispinterface HTMLTableEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLTable;
        interface IHTMLTable2;
        interface IHTMLTable3;
    };

    [
      uuid(3050F533-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTableCol {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput]
            void span(long rhs);
            [id(0x000003e9), propget]
            long span();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
            [id(0x80010048), propput]
            void align(BSTR rhs);
            [id(0x80010048), propget]
            BSTR align();
            [id(0x800113a7), propput]
            void vAlign(BSTR rhs);
            [id(0x800113a7), propget]
            BSTR vAlign();
            [id(0x000003ea), propput, bindable, displaybind]
            void ch(BSTR rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            BSTR ch();
            [id(0x000003eb), propput, bindable, displaybind]
            void chOff(BSTR rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            BSTR chOff();
    };

    [
      uuid(3050F26C-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTableCol {
        [default] dispinterface DispHTMLTableCol;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLTableCol;
        interface IHTMLTableCol2;
    };

    [
      uuid(3050F534-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTableSection {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80010048), propput]
            void align(BSTR rhs);
            [id(0x80010048), propget]
            BSTR align();
            [id(0x800113a7), propput]
            void vAlign(BSTR rhs);
            [id(0x800113a7), propget]
            BSTR vAlign();
            [id(0xfffffe0b), propput]
            void bgColor(VARIANT rhs);
            [id(0xfffffe0b), propget]
            VARIANT bgColor();
            [id(0x000003e8), propget]
            IHTMLElementCollection* rows();
            [id(0x000003e9)]
            IDispatch* insertRow([in, optional, defaultvalue(-1)] long index);
            [id(0x000003ea)]
            void deleteRow([in, optional, defaultvalue(-1)] long index);
            [id(0x000003eb)]
            IDispatch* moveRow(
                            [in, optional, defaultvalue(-1)] long indexFrom, 
                            [in, optional, defaultvalue(-1)] long indexTo);
            [id(0x000003ec), propput, bindable, displaybind]
            void ch(BSTR rhs);
            [id(0x000003ec), propget, bindable, displaybind]
            BSTR ch();
            [id(0x000003ed), propput, bindable, displaybind]
            void chOff(BSTR rhs);
            [id(0x000003ed), propget, bindable, displaybind]
            BSTR chOff();
    };

    [
      uuid(3050F2E9-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTableSection {
        [default] dispinterface DispHTMLTableSection;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLTableSection;
        interface IHTMLTableSection2;
        interface IHTMLTableSection3;
    };

    [
      uuid(3050F535-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTableRow {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80010048), propput]
            void align(BSTR rhs);
            [id(0x80010048), propget]
            BSTR align();
            [id(0x800113a7), propput]
            void vAlign(BSTR rhs);
            [id(0x800113a7), propget]
            BSTR vAlign();
            [id(0xfffffe0b), propput]
            void bgColor(VARIANT rhs);
            [id(0xfffffe0b), propget]
            VARIANT bgColor();
            [id(0x800113a4), propput]
            void borderColor(VARIANT rhs);
            [id(0x800113a4), propget]
            VARIANT borderColor();
            [id(0x800113a5), propput]
            void borderColorLight(VARIANT rhs);
            [id(0x800113a5), propget]
            VARIANT borderColorLight();
            [id(0x800113a6), propput]
            void borderColorDark(VARIANT rhs);
            [id(0x800113a6), propget]
            VARIANT borderColorDark();
            [id(0x000003e8), propget]
            long rowIndex();
            [id(0x000003e9), propget]
            long sectionRowIndex();
            [id(0x000003ea), propget]
            IHTMLElementCollection* cells();
            [id(0x000003eb)]
            IDispatch* insertCell([in, optional, defaultvalue(-1)] long index);
            [id(0x000003ec)]
            void deleteCell([in, optional, defaultvalue(-1)] long index);
            [id(0x80010006), propput]
            void height(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT height();
            [id(0x000003f1), propput, bindable, displaybind]
            void ch(BSTR rhs);
            [id(0x000003f1), propget, bindable, displaybind]
            BSTR ch();
            [id(0x000003f2), propput, bindable, displaybind]
            void chOff(BSTR rhs);
            [id(0x000003f2), propget, bindable, displaybind]
            BSTR chOff();
    };

    [
      uuid(3050F26D-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTableRow {
        [default] dispinterface DispHTMLTableRow;
        [default, source] dispinterface HTMLControlElementEvents;
        [source] dispinterface HTMLControlElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLTableRow;
        interface IHTMLTableRowMetrics;
        interface IHTMLTableRow2;
        interface IHTMLTableRow3;
    };

    [
      uuid(3050F536-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLTableCell {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000007d1), propput]
            void rowSpan(long rhs);
            [id(0x000007d1), propget]
            long rowSpan();
            [id(0x000007d2), propput]
            void colSpan(long rhs);
            [id(0x000007d2), propget]
            long colSpan();
            [id(0x80010048), propput]
            void align(BSTR rhs);
            [id(0x80010048), propget]
            BSTR align();
            [id(0x800113a7), propput]
            void vAlign(BSTR rhs);
            [id(0x800113a7), propget]
            BSTR vAlign();
            [id(0xfffffe0b), propput]
            void bgColor(VARIANT rhs);
            [id(0xfffffe0b), propget]
            VARIANT bgColor();
            [id(0x8001138d), propput]
            void noWrap(VARIANT_BOOL rhs);
            [id(0x8001138d), propget]
            VARIANT_BOOL noWrap();
            [id(0x80011389), propput]
            void background(BSTR rhs);
            [id(0x80011389), propget]
            BSTR background();
            [id(0x800113a4), propput]
            void borderColor(VARIANT rhs);
            [id(0x800113a4), propget]
            VARIANT borderColor();
            [id(0x800113a5), propput]
            void borderColorLight(VARIANT rhs);
            [id(0x800113a5), propget]
            VARIANT borderColorLight();
            [id(0x800113a6), propput]
            void borderColorDark(VARIANT rhs);
            [id(0x800113a6), propget]
            VARIANT borderColorDark();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
            [id(0x80010006), propput]
            void height(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT height();
            [id(0x000007d3), propget]
            long cellIndex();
            [id(0x000007d4), propput, bindable, displaybind]
            void abbr(BSTR rhs);
            [id(0x000007d4), propget, bindable, displaybind]
            BSTR abbr();
            [id(0x000007d5), propput, bindable, displaybind]
            void axis(BSTR rhs);
            [id(0x000007d5), propget, bindable, displaybind]
            BSTR axis();
            [id(0x000007d6), propput, bindable, displaybind]
            void ch(BSTR rhs);
            [id(0x000007d6), propget, bindable, displaybind]
            BSTR ch();
            [id(0x000007d7), propput, bindable, displaybind]
            void chOff(BSTR rhs);
            [id(0x000007d7), propget, bindable, displaybind]
            BSTR chOff();
            [id(0x000007d8), propput, bindable, displaybind]
            void headers(BSTR rhs);
            [id(0x000007d8), propget, bindable, displaybind]
            BSTR headers();
            [id(0x000007d9), propput, bindable, displaybind]
            void scope(BSTR rhs);
            [id(0x000007d9), propget, bindable, displaybind]
            BSTR scope();
    };

    [
      uuid(3050F246-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLTableCell {
        [default] dispinterface DispHTMLTableCell;
        [default, source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLTableCell;
        interface IHTMLTableCell2;
    };

    [
      uuid(3050F621-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLScriptEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F3E2-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLScriptEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003ea)]
            void onerror();
    };

    [
      odl,
      uuid(3050F28B-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLScriptElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT src([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT src([out, retval] BSTR* p);
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT htmlFor([in] BSTR p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT htmlFor([out, retval] BSTR* p);
        [id(0x000003ed), propput, bindable, displaybind]
        HRESULT event([in] BSTR p);
        [id(0x000003ed), propget, bindable, displaybind]
        HRESULT event([out, retval] BSTR* p);
        [id(0x000003ee), propput, bindable, displaybind]
        HRESULT text([in] BSTR p);
        [id(0x000003ee), propget, bindable, displaybind]
        HRESULT text([out, retval] BSTR* p);
        [id(0x000003ef), propput, bindable, displaybind]
        HRESULT defer([in] VARIANT_BOOL p);
        [id(0x000003ef), propget, bindable, displaybind]
        HRESULT defer([out, retval] VARIANT_BOOL* p);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x8001178d), propput, bindable, displaybind]
        HRESULT onerror([in] VARIANT p);
        [id(0x8001178d), propget, bindable, displaybind]
        HRESULT onerror([out, retval] VARIANT* p);
        [id(0x000003f1), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x000003f1), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F828-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLScriptElement2 : IDispatch {
        [id(0x000003f2), propput, bindable, displaybind]
        HRESULT charset([in] BSTR p);
        [id(0x000003f2), propget, bindable, displaybind]
        HRESULT charset([out, retval] BSTR* p);
    };

    [
      uuid(3050F530-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLScriptElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void src(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR src();
            [id(0x000003ec), propput, bindable, displaybind]
            void htmlFor(BSTR rhs);
            [id(0x000003ec), propget, bindable, displaybind]
            BSTR htmlFor();
            [id(0x000003ed), propput, bindable, displaybind]
            void event(BSTR rhs);
            [id(0x000003ed), propget, bindable, displaybind]
            BSTR event();
            [id(0x000003ee), propput, bindable, displaybind]
            void text(BSTR rhs);
            [id(0x000003ee), propget, bindable, displaybind]
            BSTR text();
            [id(0x000003ef), propput, bindable, displaybind]
            void defer(VARIANT_BOOL rhs);
            [id(0x000003ef), propget, bindable, displaybind]
            VARIANT_BOOL defer();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x000003f1), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x000003f1), propget, bindable, displaybind]
            BSTR type();
            [id(0x000003f2), propput, bindable, displaybind]
            void charset(BSTR rhs);
            [id(0x000003f2), propget, bindable, displaybind]
            BSTR charset();
    };

    [
      uuid(3050F28C-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLScriptElement {
        [default] dispinterface DispHTMLScriptElement;
        [default, source] dispinterface HTMLScriptEvents;
        [source] dispinterface HTMLScriptEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLScriptElement;
        interface IHTMLScriptElement2;
    };

    [
      odl,
      uuid(3050F38A-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLNoShowElement : IDispatch {
    };

    [
      uuid(3050F528-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLNoShowElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
    };

    [
      uuid(3050F38B-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLNoShowElement {
        [default] dispinterface DispHTMLNoShowElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLNoShowElement;
    };

    [
      uuid(3050F620-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLObjectElementEvents2 {
        properties:
        methods:
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            VARIANT_BOOL onerror([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F3C4-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLObjectElementEvents {
        properties:
        methods:
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010013)]
            VARIANT_BOOL onerror();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0x80010014)]
            void onreadystatechange();
    };

    [
      odl,
      uuid(3050F24F-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLObjectElement : IDispatch {
        [id(0x80010bb9), propget, hidden]
        HRESULT object([out, retval] IDispatch** p);
        [id(0x80010bba), propget, hidden]
        HRESULT classid([out, retval] BSTR* p);
        [id(0x80010bbb), propget, hidden]
        HRESULT data([out, retval] BSTR* p);
        [id(0x80010bbd), propputref, hidden]
        HRESULT recordset([in] IDispatch* p);
        [id(0x80010bbd), propget, hidden]
        HRESULT recordset([out, retval] IDispatch** p);
        [id(0x80010049), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x80010bbe), propput, bindable, displaybind]
        HRESULT codeBase([in] BSTR p);
        [id(0x80010bbe), propget, bindable, displaybind]
        HRESULT codeBase([out, retval] BSTR* p);
        [id(0x80010bbf), propput, bindable, displaybind]
        HRESULT codeType([in] BSTR p);
        [id(0x80010bbf), propget, bindable, displaybind]
        HRESULT codeType([out, retval] BSTR* p);
        [id(0x80010bc0), propput, bindable, displaybind]
        HRESULT code([in] BSTR p);
        [id(0x80010bc0), propget, bindable, displaybind]
        HRESULT code([out, retval] BSTR* p);
        [id(0x80010002), propget]
        HRESULT BaseHref([out, retval] BSTR* p);
        [id(0x80010bc1), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x80010bc1), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
        [id(0x80010006), propput]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x80010bc2), propget, hidden]
        HRESULT readyState([out, retval] long* p);
        [id(0x80011789), propput, bindable, displaybind]
        HRESULT onreadystatechange([in] VARIANT p);
        [id(0x80011789), propget, bindable, displaybind]
        HRESULT onreadystatechange([out, retval] VARIANT* p);
        [id(0x8001178d), propput, bindable, displaybind]
        HRESULT onerror([in] VARIANT p);
        [id(0x8001178d), propget, bindable, displaybind]
        HRESULT onerror([out, retval] VARIANT* p);
        [id(0x80010bc3), propput]
        HRESULT altHtml([in] BSTR p);
        [id(0x80010bc3), propget]
        HRESULT altHtml([out, retval] BSTR* p);
        [id(0x80010bc4), propput]
        HRESULT vspace([in] long p);
        [id(0x80010bc4), propget]
        HRESULT vspace([out, retval] long* p);
        [id(0x80010bc5), propput]
        HRESULT hspace([in] long p);
        [id(0x80010bc5), propget]
        HRESULT hspace([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F4CD-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLObjectElement2 : IDispatch {
        [id(0x80010bc6)]
        HRESULT namedRecordset(
                        [in] BSTR dataMember, 
                        [in, optional] VARIANT* hierarchy, 
                        [out, retval] IDispatch** ppRecordset);
        [id(0x80010bba), propput, hidden]
        HRESULT classid([in] BSTR p);
        [id(0x80010bba), propget, hidden]
        HRESULT classid([out, retval] BSTR* p);
        [id(0x80010bbb), propput, hidden]
        HRESULT data([in] BSTR p);
        [id(0x80010bbb), propget, hidden]
        HRESULT data([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F827-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLObjectElement3 : IDispatch {
        [id(0x80010bc7), propput, bindable, displaybind]
        HRESULT archive([in] BSTR p);
        [id(0x80010bc7), propget, bindable, displaybind]
        HRESULT archive([out, retval] BSTR* p);
        [id(0x80010bc8), propput, bindable, displaybind]
        HRESULT alt([in] BSTR p);
        [id(0x80010bc8), propget, bindable, displaybind]
        HRESULT alt([out, retval] BSTR* p);
        [id(0x80010bc9), propput, bindable, displaybind]
        HRESULT declare([in] VARIANT_BOOL p);
        [id(0x80010bc9), propget, bindable, displaybind]
        HRESULT declare([out, retval] VARIANT_BOOL* p);
        [id(0x80010bca), propput, bindable, displaybind]
        HRESULT standby([in] BSTR p);
        [id(0x80010bca), propget, bindable, displaybind]
        HRESULT standby([out, retval] BSTR* p);
        [id(0x80010bcb), propput]
        HRESULT border([in] VARIANT p);
        [id(0x80010bcb), propget]
        HRESULT border([out, retval] VARIANT* p);
        [id(0x80010bcc), propput, bindable, displaybind]
        HRESULT useMap([in] BSTR p);
        [id(0x80010bcc), propget, bindable, displaybind]
        HRESULT useMap([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F83D-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLParamElement : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT value([in] BSTR p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT value([out, retval] BSTR* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT valueType([in] BSTR p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT valueType([out, retval] BSTR* p);
    };

    [
      uuid(3050F529-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLObjectElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x80010bb9), propget, hidden]
            IDispatch* object();
            [id(0x80010bbd), propputref, hidden]
            void recordset(IDispatch* rhs);
            [id(0x80010bbd), propget, hidden]
            IDispatch* recordset();
            [id(0x80010049), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010049), propget, bindable, displaybind]
            BSTR align();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x80010bbe), propput, bindable, displaybind]
            void codeBase(BSTR rhs);
            [id(0x80010bbe), propget, bindable, displaybind]
            BSTR codeBase();
            [id(0x80010bbf), propput, bindable, displaybind]
            void codeType(BSTR rhs);
            [id(0x80010bbf), propget, bindable, displaybind]
            BSTR codeType();
            [id(0x80010bc0), propput, bindable, displaybind]
            void code(BSTR rhs);
            [id(0x80010bc0), propget, bindable, displaybind]
            BSTR code();
            [id(0x80010002), propget]
            BSTR BaseHref();
            [id(0x80010bc1), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x80010bc1), propget, bindable, displaybind]
            BSTR type();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
            [id(0x80010006), propput]
            void height(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT height();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x80010bc3), propput]
            void altHtml(BSTR rhs);
            [id(0x80010bc3), propget]
            BSTR altHtml();
            [id(0x80010bc4), propput]
            void vspace(long rhs);
            [id(0x80010bc4), propget]
            long vspace();
            [id(0x80010bc5), propput]
            void hspace(long rhs);
            [id(0x80010bc5), propget]
            long hspace();
            [id(0x80010bc6)]
            IDispatch* namedRecordset(
                            [in] BSTR dataMember, 
                            [in, optional] VARIANT* hierarchy);
            [id(0x80010bba), propput, hidden]
            void classid(BSTR rhs);
            [id(0x80010bba), propget, hidden]
            BSTR classid();
            [id(0x80010bbb), propput, hidden]
            void data(BSTR rhs);
            [id(0x80010bbb), propget, hidden]
            BSTR data();
            [id(0x80010bc7), propput, bindable, displaybind]
            void archive(BSTR rhs);
            [id(0x80010bc7), propget, bindable, displaybind]
            BSTR archive();
            [id(0x80010bc8), propput, bindable, displaybind]
            void alt(BSTR rhs);
            [id(0x80010bc8), propget, bindable, displaybind]
            BSTR alt();
            [id(0x80010bc9), propput, bindable, displaybind]
            void declare(VARIANT_BOOL rhs);
            [id(0x80010bc9), propget, bindable, displaybind]
            VARIANT_BOOL declare();
            [id(0x80010bca), propput, bindable, displaybind]
            void standby(BSTR rhs);
            [id(0x80010bca), propget, bindable, displaybind]
            BSTR standby();
            [id(0x80010bcb), propput]
            void border(VARIANT rhs);
            [id(0x80010bcb), propget]
            VARIANT border();
            [id(0x80010bcc), propput, bindable, displaybind]
            void useMap(BSTR rhs);
            [id(0x80010bcc), propget, bindable, displaybind]
            BSTR useMap();
    };

    [
      uuid(3050F24E-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLObjectElement {
        [default] dispinterface DispHTMLObjectElement;
        [default, source] dispinterface HTMLObjectElementEvents;
        [source] dispinterface HTMLObjectElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLObjectElement;
        interface IHTMLObjectElement2;
        interface IHTMLObjectElement3;
    };

    [
      uuid(3050F590-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLParamElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR name();
            [id(0x000003ea), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            BSTR value();
            [id(0x000003eb), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            BSTR type();
            [id(0x000003ec), propput, bindable, displaybind]
            void valueType(BSTR rhs);
            [id(0x000003ec), propget, bindable, displaybind]
            BSTR valueType();
    };

    [
      uuid(3050F83E-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLParamElement {
        [default] dispinterface DispHTMLParamElement;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLParamElement;
    };

    [
      uuid(3050F7FF-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLFrameSiteEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F800-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLFrameSiteEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003eb)]
            void onload();
    };

    typedef enum {
        frameScrollingyes = 1,
        frameScrollingno = 2,
        frameScrollingauto = 4,
        frameScrolling_Max = 0x7fffffff
    } _frameScrolling;

    [
      odl,
      uuid(3050F6DB-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFrameBase2 : IDispatch {
        [id(0x80010bc1), propget]
        HRESULT contentWindow([out, retval] IHTMLWindow2** p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x80011789), propput, bindable, displaybind]
        HRESULT onreadystatechange([in] VARIANT p);
        [id(0x80011789), propget, bindable, displaybind]
        HRESULT onreadystatechange([out, retval] VARIANT* p);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x80011456), propput]
        HRESULT allowTransparency([in] VARIANT_BOOL p);
        [id(0x80011456), propget]
        HRESULT allowTransparency([out, retval] VARIANT_BOOL* p);
    };

    [
      odl,
      uuid(3050F82E-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFrameBase3 : IDispatch {
        [id(0x80010bc2), propput, bindable, displaybind]
        HRESULT longDesc([in] BSTR p);
        [id(0x80010bc2), propget, bindable, displaybind]
        HRESULT longDesc([out, retval] BSTR* p);
    };

    [
      uuid(3050F541-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLFrameBase {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80010bb8), propput]
            void src(BSTR rhs);
            [id(0x80010bb8), propget]
            BSTR src();
            [id(0x80010000), propput]
            void name(BSTR rhs);
            [id(0x80010000), propget]
            BSTR name();
            [id(0x80010bba), propput]
            void border(VARIANT rhs);
            [id(0x80010bba), propget]
            VARIANT border();
            [id(0x80010bbb), propput]
            void frameBorder(BSTR rhs);
            [id(0x80010bbb), propget]
            BSTR frameBorder();
            [id(0x80010bbc), propput]
            void frameSpacing(VARIANT rhs);
            [id(0x80010bbc), propget]
            VARIANT frameSpacing();
            [id(0x80010bbd), propput]
            void marginWidth(VARIANT rhs);
            [id(0x80010bbd), propget]
            VARIANT marginWidth();
            [id(0x80010bbe), propput]
            void marginHeight(VARIANT rhs);
            [id(0x80010bbe), propget]
            VARIANT marginHeight();
            [id(0x80010bbf), propput]
            void noResize(VARIANT_BOOL rhs);
            [id(0x80010bbf), propget]
            VARIANT_BOOL noResize();
            [id(0x80010bc0), propput]
            void scrolling(BSTR rhs);
            [id(0x80010bc0), propget]
            BSTR scrolling();
            [id(0x80010bc1), propget]
            IHTMLWindow2* contentWindow();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x80011456), propput]
            void allowTransparency(VARIANT_BOOL rhs);
            [id(0x80011456), propget]
            VARIANT_BOOL allowTransparency();
            [id(0x80010bc2), propput, bindable, displaybind]
            void longDesc(BSTR rhs);
            [id(0x80010bc2), propget, bindable, displaybind]
            BSTR longDesc();
    };

    [
      uuid(3050F312-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLFrameBase {
        [default] dispinterface DispHTMLFrameBase;
        [default, source] dispinterface HTMLControlElementEvents;
        [source] dispinterface HTMLControlElementEvents2;
        [source] dispinterface HTMLFrameSiteEvents;
        [source] dispinterface HTMLFrameSiteEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLControlElement;
        interface IHTMLFrameBase;
        interface IHTMLFrameBase2;
        interface IHTMLFrameBase3;
    };

    [
      odl,
      uuid(3050F313-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFrameElement : IDispatch {
        [id(0x80010fa1), propput]
        HRESULT borderColor([in] VARIANT p);
        [id(0x80010fa1), propget]
        HRESULT borderColor([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F7F5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFrameElement2 : IDispatch {
        [id(0x80010006), propput]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
    };

    [
      uuid(3050F513-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLFrameElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x80010bb8), propput]
            void src(BSTR rhs);
            [id(0x80010bb8), propget]
            BSTR src();
            [id(0x80010000), propput]
            void name(BSTR rhs);
            [id(0x80010000), propget]
            BSTR name();
            [id(0x80010bba), propput]
            void border(VARIANT rhs);
            [id(0x80010bba), propget]
            VARIANT border();
            [id(0x80010bbb), propput]
            void frameBorder(BSTR rhs);
            [id(0x80010bbb), propget]
            BSTR frameBorder();
            [id(0x80010bbc), propput]
            void frameSpacing(VARIANT rhs);
            [id(0x80010bbc), propget]
            VARIANT frameSpacing();
            [id(0x80010bbd), propput]
            void marginWidth(VARIANT rhs);
            [id(0x80010bbd), propget]
            VARIANT marginWidth();
            [id(0x80010bbe), propput]
            void marginHeight(VARIANT rhs);
            [id(0x80010bbe), propget]
            VARIANT marginHeight();
            [id(0x80010bbf), propput]
            void noResize(VARIANT_BOOL rhs);
            [id(0x80010bbf), propget]
            VARIANT_BOOL noResize();
            [id(0x80010bc0), propput]
            void scrolling(BSTR rhs);
            [id(0x80010bc0), propget]
            BSTR scrolling();
            [id(0x80010bc1), propget]
            IHTMLWindow2* contentWindow();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x80011456), propput]
            void allowTransparency(VARIANT_BOOL rhs);
            [id(0x80011456), propget]
            VARIANT_BOOL allowTransparency();
            [id(0x80010bc2), propput, bindable, displaybind]
            void longDesc(BSTR rhs);
            [id(0x80010bc2), propget, bindable, displaybind]
            BSTR longDesc();
            [id(0x80010fa1), propput]
            void borderColor(VARIANT rhs);
            [id(0x80010fa1), propget]
            VARIANT borderColor();
            [id(0x80010006), propput]
            void height(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT height();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
    };

    [
      uuid(3050F314-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLFrameElement {
        [default] dispinterface DispHTMLFrameElement;
        [default, source] dispinterface HTMLControlElementEvents;
        [source] dispinterface HTMLControlElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLFrameBase;
        interface IHTMLFrameBase2;
        interface IHTMLFrameBase3;
        interface IHTMLFrameElement;
        interface IHTMLFrameElement2;
    };

    [
      odl,
      uuid(3050F315-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLIFrameElement : IDispatch {
        [id(0x80010fa1), propput]
        HRESULT vspace([in] long p);
        [id(0x80010fa1), propget]
        HRESULT vspace([out, retval] long* p);
        [id(0x80010fa2), propput]
        HRESULT hspace([in] long p);
        [id(0x80010fa2), propget]
        HRESULT hspace([out, retval] long* p);
        [id(0x80010049), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F4E6-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLIFrameElement2 : IDispatch {
        [id(0x80010006), propput]
        HRESULT height([in] VARIANT p);
        [id(0x80010006), propget]
        HRESULT height([out, retval] VARIANT* p);
        [id(0x80010005), propput]
        HRESULT width([in] VARIANT p);
        [id(0x80010005), propget]
        HRESULT width([out, retval] VARIANT* p);
    };

    [
      uuid(3050F51B-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLIFrame {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x80010bb8), propput]
            void src(BSTR rhs);
            [id(0x80010bb8), propget]
            BSTR src();
            [id(0x80010000), propput]
            void name(BSTR rhs);
            [id(0x80010000), propget]
            BSTR name();
            [id(0x80010bba), propput]
            void border(VARIANT rhs);
            [id(0x80010bba), propget]
            VARIANT border();
            [id(0x80010bbb), propput]
            void frameBorder(BSTR rhs);
            [id(0x80010bbb), propget]
            BSTR frameBorder();
            [id(0x80010bbc), propput]
            void frameSpacing(VARIANT rhs);
            [id(0x80010bbc), propget]
            VARIANT frameSpacing();
            [id(0x80010bbd), propput]
            void marginWidth(VARIANT rhs);
            [id(0x80010bbd), propget]
            VARIANT marginWidth();
            [id(0x80010bbe), propput]
            void marginHeight(VARIANT rhs);
            [id(0x80010bbe), propget]
            VARIANT marginHeight();
            [id(0x80010bbf), propput]
            void noResize(VARIANT_BOOL rhs);
            [id(0x80010bbf), propget]
            VARIANT_BOOL noResize();
            [id(0x80010bc0), propput]
            void scrolling(BSTR rhs);
            [id(0x80010bc0), propget]
            BSTR scrolling();
            [id(0x80010bc1), propget]
            IHTMLWindow2* contentWindow();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x80011456), propput]
            void allowTransparency(VARIANT_BOOL rhs);
            [id(0x80011456), propget]
            VARIANT_BOOL allowTransparency();
            [id(0x80010bc2), propput, bindable, displaybind]
            void longDesc(BSTR rhs);
            [id(0x80010bc2), propget, bindable, displaybind]
            BSTR longDesc();
            [id(0x80010fa1), propput]
            void vspace(long rhs);
            [id(0x80010fa1), propget]
            long vspace();
            [id(0x80010fa2), propput]
            void hspace(long rhs);
            [id(0x80010fa2), propget]
            long hspace();
            [id(0x80010049), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010049), propget, bindable, displaybind]
            BSTR align();
            [id(0x80010006), propput]
            void height(VARIANT rhs);
            [id(0x80010006), propget]
            VARIANT height();
            [id(0x80010005), propput]
            void width(VARIANT rhs);
            [id(0x80010005), propget]
            VARIANT width();
    };

    [
      uuid(3050F316-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLIFrame {
        [default] dispinterface DispHTMLIFrame;
        [default, source] dispinterface HTMLControlElementEvents;
        [source] dispinterface HTMLControlElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLFrameBase;
        interface IHTMLFrameBase2;
        interface IHTMLFrameBase3;
        interface IHTMLIFrameElement;
        interface IHTMLIFrameElement2;
    };

    [
      odl,
      uuid(3050F212-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDivPosition : IDispatch {
        [id(0x80010049), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F3E7-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFieldSetElement : IDispatch {
        [id(0x80010049), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F833-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFieldSetElement2 : IDispatch {
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
    };

    [
      odl,
      uuid(3050F3EA-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLLegendElement : IDispatch {
        [id(0x80010049), propput]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget]
        HRESULT align([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F834-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLLegendElement2 : IDispatch {
        [id(0x800107d4), propget]
        HRESULT form([out, retval] IHTMLFormElement** p);
    };

    [
      uuid(3050F50F-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLDivPosition {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x80010049), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010049), propget, bindable, displaybind]
            BSTR align();
    };

    [
      uuid(3050F249-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDivPosition {
        [default] dispinterface DispHTMLDivPosition;
        [default, source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLDivPosition;
    };

    [
      uuid(3050F545-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLFieldSetElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x80010049), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010049), propget, bindable, displaybind]
            BSTR align();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
    };

    [
      uuid(3050F3E8-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLFieldSetElement {
        [default] dispinterface DispHTMLFieldSetElement;
        [default, source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLFieldSetElement;
        interface IHTMLFieldSetElement2;
    };

    [
      uuid(3050F546-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLLegendElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x80010049), propput]
            void align(BSTR rhs);
            [id(0x80010049), propget]
            BSTR align();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
    };

    [
      uuid(3050F3E9-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLLegendElement {
        [default] dispinterface DispHTMLLegendElement;
        [default, source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLLegendElement;
        interface IHTMLLegendElement2;
    };

    [
      odl,
      uuid(3050F3E5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLSpanFlow : IDispatch {
        [id(0x80010049), propput, bindable, displaybind]
        HRESULT align([in] BSTR p);
        [id(0x80010049), propget, bindable, displaybind]
        HRESULT align([out, retval] BSTR* p);
    };

    [
      uuid(3050F544-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLSpanFlow {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
            [id(0x80010049), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010049), propget, bindable, displaybind]
            BSTR align();
    };

    [
      uuid(3050F3E6-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLSpanFlow {
        [default] dispinterface DispHTMLSpanFlow;
        [default, source] dispinterface HTMLTextContainerEvents;
        [source] dispinterface HTMLTextContainerEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLDatabinding;
        interface IHTMLControlElement;
        interface IHTMLTextContainer;
        interface IHTMLSpanFlow;
    };

    [
      odl,
      uuid(3050F319-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFrameSetElement : IDispatch {
        [id(0x000003e8), propput, bindable, displaybind]
        HRESULT rows([in] BSTR p);
        [id(0x000003e8), propget, bindable, displaybind]
        HRESULT rows([out, retval] BSTR* p);
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT cols([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT cols([out, retval] BSTR* p);
        [id(0x000003ea), propput]
        HRESULT border([in] VARIANT p);
        [id(0x000003ea), propget]
        HRESULT border([out, retval] VARIANT* p);
        [id(0x000003eb), propput]
        HRESULT borderColor([in] VARIANT p);
        [id(0x000003eb), propget]
        HRESULT borderColor([out, retval] VARIANT* p);
        [id(0x000003ec), propput]
        HRESULT frameBorder([in] BSTR p);
        [id(0x000003ec), propget]
        HRESULT frameBorder([out, retval] BSTR* p);
        [id(0x000003ed), propput]
        HRESULT frameSpacing([in] VARIANT p);
        [id(0x000003ed), propget]
        HRESULT frameSpacing([out, retval] VARIANT* p);
        [id(0x80010000), propput, bindable, displaybind]
        HRESULT name([in] BSTR p);
        [id(0x80010000), propget, bindable, displaybind]
        HRESULT name([out, retval] BSTR* p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x80011791), propput, bindable, displaybind]
        HRESULT onunload([in] VARIANT p);
        [id(0x80011791), propget, bindable, displaybind]
        HRESULT onunload([out, retval] VARIANT* p);
        [id(0x80011797), propput, bindable, displaybind]
        HRESULT onbeforeunload([in] VARIANT p);
        [id(0x80011797), propget, bindable, displaybind]
        HRESULT onbeforeunload([out, retval] VARIANT* p);
    };

    [
      odl,
      uuid(3050F5C6-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFrameSetElement2 : IDispatch {
        [id(0x800117b2), propput, bindable, displaybind]
        HRESULT onbeforeprint([in] VARIANT p);
        [id(0x800117b2), propget, bindable, displaybind]
        HRESULT onbeforeprint([out, retval] VARIANT* p);
        [id(0x800117b3), propput, bindable, displaybind]
        HRESULT onafterprint([in] VARIANT p);
        [id(0x800117b3), propget, bindable, displaybind]
        HRESULT onafterprint([out, retval] VARIANT* p);
    };

    [
      uuid(3050F514-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLFrameSetSite {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e8), propput, bindable, displaybind]
            void rows(BSTR rhs);
            [id(0x000003e8), propget, bindable, displaybind]
            BSTR rows();
            [id(0x000003e9), propput, bindable, displaybind]
            void cols(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR cols();
            [id(0x000003ea), propput]
            void border(VARIANT rhs);
            [id(0x000003ea), propget]
            VARIANT border();
            [id(0x000003eb), propput]
            void borderColor(VARIANT rhs);
            [id(0x000003eb), propget]
            VARIANT borderColor();
            [id(0x000003ec), propput]
            void frameBorder(BSTR rhs);
            [id(0x000003ec), propget]
            BSTR frameBorder();
            [id(0x000003ed), propput]
            void frameSpacing(VARIANT rhs);
            [id(0x000003ed), propget]
            VARIANT frameSpacing();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x80011791), propput, bindable, displaybind]
            void onunload(VARIANT rhs);
            [id(0x80011791), propget, bindable, displaybind]
            VARIANT onunload();
            [id(0x80011797), propput, bindable, displaybind]
            void onbeforeunload(VARIANT rhs);
            [id(0x80011797), propget, bindable, displaybind]
            VARIANT onbeforeunload();
            [id(0x800117b2), propput, bindable, displaybind]
            void onbeforeprint(VARIANT rhs);
            [id(0x800117b2), propget, bindable, displaybind]
            VARIANT onbeforeprint();
            [id(0x800117b3), propput, bindable, displaybind]
            void onafterprint(VARIANT rhs);
            [id(0x800117b3), propget, bindable, displaybind]
            VARIANT onafterprint();
    };

    [
      uuid(3050F31A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLFrameSetSite {
        [default] dispinterface DispHTMLFrameSetSite;
        [default, source] dispinterface HTMLControlElementEvents;
        [source] dispinterface HTMLControlElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLControlElement;
        interface IHTMLFrameSetElement;
        interface IHTMLFrameSetElement2;
    };

    [
      odl,
      uuid(3050F369-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLBGsound : IDispatch {
        [id(0x000003e9), propput, bindable, displaybind]
        HRESULT src([in] BSTR p);
        [id(0x000003e9), propget, bindable, displaybind]
        HRESULT src([out, retval] BSTR* p);
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT loop([in] VARIANT p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT loop([out, retval] VARIANT* p);
        [id(0x000003eb), propput, bindable, displaybind]
        HRESULT volume([in] VARIANT p);
        [id(0x000003eb), propget, bindable, displaybind]
        HRESULT volume([out, retval] VARIANT* p);
        [id(0x000003ec), propput, bindable, displaybind]
        HRESULT balance([in] VARIANT p);
        [id(0x000003ec), propget, bindable, displaybind]
        HRESULT balance([out, retval] VARIANT* p);
    };

    [
      uuid(3050F53C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLBGsound {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003e9), propput, bindable, displaybind]
            void src(BSTR rhs);
            [id(0x000003e9), propget, bindable, displaybind]
            BSTR src();
            [id(0x000003ea), propput, bindable, displaybind]
            void loop(VARIANT rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            VARIANT loop();
            [id(0x000003eb), propput, bindable, displaybind]
            void volume(VARIANT rhs);
            [id(0x000003eb), propget, bindable, displaybind]
            VARIANT volume();
            [id(0x000003ec), propput, bindable, displaybind]
            void balance(VARIANT rhs);
            [id(0x000003ec), propget, bindable, displaybind]
            VARIANT balance();
    };

    [
      uuid(3050F370-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLBGsound {
        [default] dispinterface DispHTMLBGsound;
        [default, source] dispinterface HTMLElementEvents;
        [source] dispinterface HTMLElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLBGsound;
    };

    [
      odl,
      uuid(3050F376-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFontNamesCollection : IDispatch {
        [id(0x000005dd), propget, hidden]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] BSTR* pBstr);
    };

    [
      odl,
      uuid(3050F377-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLFontSizesCollection : IDispatch {
        [id(0x000005de), propget, hidden]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(0x000005df), propget]
        HRESULT forFont([out, retval] BSTR* p);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] long* plSize);
    };

    [
      odl,
      uuid(3050F378-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLOptionsHolder : IDispatch {
        [id(0x000005df), propget, hidden]
        HRESULT document([out, retval] IHTMLDocument2** p);
        [id(0x000005e0), propget, hidden]
        HRESULT fonts([out, retval] IHTMLFontNamesCollection** p);
        [id(0x000005e1), propput]
        HRESULT execArg([in] VARIANT p);
        [id(0x000005e1), propget]
        HRESULT execArg([out, retval] VARIANT* p);
        [id(0x000005e2), propput]
        HRESULT errorLine([in] long p);
        [id(0x000005e2), propget]
        HRESULT errorLine([out, retval] long* p);
        [id(0x000005e3), propput]
        HRESULT errorCharacter([in] long p);
        [id(0x000005e3), propget]
        HRESULT errorCharacter([out, retval] long* p);
        [id(0x000005e4), propput]
        HRESULT errorCode([in] long p);
        [id(0x000005e4), propget]
        HRESULT errorCode([out, retval] long* p);
        [id(0x000005e5), propput]
        HRESULT errorMessage([in] BSTR p);
        [id(0x000005e5), propget]
        HRESULT errorMessage([out, retval] BSTR* p);
        [id(0x000005e6), propput]
        HRESULT errorDebug([in] VARIANT_BOOL p);
        [id(0x000005e6), propget]
        HRESULT errorDebug([out, retval] VARIANT_BOOL* p);
        [id(0x000005e7), propget, hidden]
        HRESULT unsecuredWindowOfDocument([out, retval] IHTMLWindow2** p);
        [id(0x000005e8), propput]
        HRESULT findText([in] BSTR p);
        [id(0x000005e8), propget]
        HRESULT findText([out, retval] BSTR* p);
        [id(0x000005e9), propput]
        HRESULT anythingAfterFrameset([in] VARIANT_BOOL p);
        [id(0x000005e9), propget]
        HRESULT anythingAfterFrameset([out, retval] VARIANT_BOOL* p);
        [id(0x000005ea)]
        HRESULT sizes(
                        [in] BSTR fontName, 
                        [out, retval] IHTMLFontSizesCollection** pSizesCollection);
        [id(0x000005eb)]
        HRESULT openfiledlg(
                        [in, optional] VARIANT initFile, 
                        [in, optional] VARIANT initDir, 
                        [in, optional] VARIANT filter, 
                        [in, optional] VARIANT title, 
                        [out, retval] BSTR* pathname);
        [id(0x000005ec)]
        HRESULT savefiledlg(
                        [in, optional] VARIANT initFile, 
                        [in, optional] VARIANT initDir, 
                        [in, optional] VARIANT filter, 
                        [in, optional] VARIANT title, 
                        [out, retval] BSTR* pathname);
        [id(0x000005ed)]
        HRESULT choosecolordlg(
                        [in, optional] VARIANT initColor, 
                        [out, retval] long* rgbColor);
        [id(0x000005ee)]
        HRESULT showSecurityInfo();
        [id(0x000005ef)]
        HRESULT isApartmentModel(
                        [in] IHTMLObjectElement* object, 
                        [out, retval] VARIANT_BOOL* fApartment);
        [id(0x000005f0)]
        HRESULT getCharset(
                        [in] BSTR fontName, 
                        [out, retval] long* charset);
        [id(0x000005f1), propget]
        HRESULT secureConnectionInfo([out, retval] BSTR* p);
    };

    [
      uuid(3050F615-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLStyleElementEvents2 {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda8)]
            VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda6)]
            void onkeydown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda4)]
            void onkeyup([in] IHTMLEventObj* pEvtObj);
            [id(0x80010009)]
            void onmouseout([in] IHTMLEventObj* pEvtObj);
            [id(0x80010008)]
            void onmouseover([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda2)]
            void onmousemove([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda3)]
            void onmousedown([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffda1)]
            void onmouseup([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010011)]
            void onfilterchange([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010005)]
            void onafterupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
            [id(0x80010006)]
            VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
            [id(0x80010007)]
            void onrowenter([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000e)]
            void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
            [id(0x8001000f)]
            void ondataavailable([in] IHTMLEventObj* pEvtObj);
            [id(0x80010010)]
            void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010012)]
            void onlosecapture([in] IHTMLEventObj* pEvtObj);
            [id(0x80010013)]
            void onpropertychange([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f6)]
            void onscroll([in] IHTMLEventObj* pEvtObj);
            [id(0x80010001)]
            void onfocus([in] IHTMLEventObj* pEvtObj);
            [id(0x80010000)]
            void onblur([in] IHTMLEventObj* pEvtObj);
            [id(0x000003f8)]
            void onresize([in] IHTMLEventObj* pEvtObj);
            [id(0x80010014)]
            VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
            [id(0x80010015)]
            void ondragend([in] IHTMLEventObj* pEvtObj);
            [id(0x80010016)]
            VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
            [id(0x80010017)]
            VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
            [id(0x80010018)]
            void ondragleave([in] IHTMLEventObj* pEvtObj);
            [id(0x80010019)]
            VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001a)]
            VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001b)]
            VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
            [id(0x8001001c)]
            VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
            [id(0x80010020)]
            void onrowsdelete([in] IHTMLEventObj* pEvtObj);
            [id(0x80010021)]
            void onrowsinserted([in] IHTMLEventObj* pEvtObj);
            [id(0x80010022)]
            void oncellchange([in] IHTMLEventObj* pEvtObj);
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
            [id(0x00000406)]
            void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
            [id(0x00000407)]
            void onpage([in] IHTMLEventObj* pEvtObj);
            [id(0x00000412)]
            void onmouseenter([in] IHTMLEventObj* pEvtObj);
            [id(0x00000413)]
            void onmouseleave([in] IHTMLEventObj* pEvtObj);
            [id(0x00000414)]
            void onactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000415)]
            void ondeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
            [id(0x00000418)]
            void onfocusin([in] IHTMLEventObj* pEvtObj);
            [id(0x00000419)]
            void onfocusout([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040b)]
            void onmove([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
            [id(0x0000040f)]
            void onmoveend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000410)]
            VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
            [id(0x00000411)]
            void onresizeend([in] IHTMLEventObj* pEvtObj);
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
            [id(0x000003eb)]
            void onload([in] IHTMLEventObj* pEvtObj);
            [id(0x000003ea)]
            void onerror([in] IHTMLEventObj* pEvtObj);
    };

    [
      uuid(3050F3CB-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLStyleElementEvents {
        properties:
        methods:
            [id(0x8001000a)]
            VARIANT_BOOL onhelp();
            [id(0xfffffda8)]
            VARIANT_BOOL onclick();
            [id(0xfffffda7)]
            VARIANT_BOOL ondblclick();
            [id(0xfffffda5)]
            VARIANT_BOOL onkeypress();
            [id(0xfffffda6)]
            void onkeydown();
            [id(0xfffffda4)]
            void onkeyup();
            [id(0x80010009)]
            void onmouseout();
            [id(0x80010008)]
            void onmouseover();
            [id(0xfffffda2)]
            void onmousemove();
            [id(0xfffffda3)]
            void onmousedown();
            [id(0xfffffda1)]
            void onmouseup();
            [id(0x8001000c)]
            VARIANT_BOOL onselectstart();
            [id(0x80010011)]
            void onfilterchange();
            [id(0x8001000b)]
            VARIANT_BOOL ondragstart();
            [id(0x80010004)]
            VARIANT_BOOL onbeforeupdate();
            [id(0x80010005)]
            void onafterupdate();
            [id(0x8001000d)]
            VARIANT_BOOL onerrorupdate();
            [id(0x80010006)]
            VARIANT_BOOL onrowexit();
            [id(0x80010007)]
            void onrowenter();
            [id(0x8001000e)]
            void ondatasetchanged();
            [id(0x8001000f)]
            void ondataavailable();
            [id(0x80010010)]
            void ondatasetcomplete();
            [id(0x80010012)]
            void onlosecapture();
            [id(0x80010013)]
            void onpropertychange();
            [id(0x000003f6)]
            void onscroll();
            [id(0x80010001)]
            void onfocus();
            [id(0x80010000)]
            void onblur();
            [id(0x000003f8)]
            void onresize();
            [id(0x80010014)]
            VARIANT_BOOL ondrag();
            [id(0x80010015)]
            void ondragend();
            [id(0x80010016)]
            VARIANT_BOOL ondragenter();
            [id(0x80010017)]
            VARIANT_BOOL ondragover();
            [id(0x80010018)]
            void ondragleave();
            [id(0x80010019)]
            VARIANT_BOOL ondrop();
            [id(0x8001001d)]
            VARIANT_BOOL onbeforecut();
            [id(0x8001001a)]
            VARIANT_BOOL oncut();
            [id(0x8001001e)]
            VARIANT_BOOL onbeforecopy();
            [id(0x8001001b)]
            VARIANT_BOOL oncopy();
            [id(0x8001001f)]
            VARIANT_BOOL onbeforepaste();
            [id(0x8001001c)]
            VARIANT_BOOL onpaste();
            [id(0x000003ff)]
            VARIANT_BOOL oncontextmenu();
            [id(0x80010020)]
            void onrowsdelete();
            [id(0x80010021)]
            void onrowsinserted();
            [id(0x80010022)]
            void oncellchange();
            [id(0xfffffd9f)]
            void onreadystatechange();
            [id(0x00000403)]
            void onbeforeeditfocus();
            [id(0x00000406)]
            void onlayoutcomplete();
            [id(0x00000407)]
            void onpage();
            [id(0x0000040a)]
            VARIANT_BOOL onbeforedeactivate();
            [id(0x00000417)]
            VARIANT_BOOL onbeforeactivate();
            [id(0x0000040b)]
            void onmove();
            [id(0x0000040c)]
            VARIANT_BOOL oncontrolselect();
            [id(0x0000040e)]
            VARIANT_BOOL onmovestart();
            [id(0x0000040f)]
            void onmoveend();
            [id(0x00000410)]
            VARIANT_BOOL onresizestart();
            [id(0x00000411)]
            void onresizeend();
            [id(0x00000412)]
            void onmouseenter();
            [id(0x00000413)]
            void onmouseleave();
            [id(0x00000409)]
            VARIANT_BOOL onmousewheel();
            [id(0x00000414)]
            void onactivate();
            [id(0x00000415)]
            void ondeactivate();
            [id(0x00000418)]
            void onfocusin();
            [id(0x00000419)]
            void onfocusout();
            [id(0x000003eb)]
            void onload();
            [id(0x000003ea)]
            void onerror();
    };

    [
      odl,
      uuid(3050F375-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleElement : IDispatch {
        [id(0x000003ea), propput, bindable, displaybind]
        HRESULT type([in] BSTR p);
        [id(0x000003ea), propget, bindable, displaybind]
        HRESULT type([out, retval] BSTR* p);
        [id(0x800113fc), propget]
        HRESULT readyState([out, retval] BSTR* p);
        [id(0x80011789), propput, bindable, displaybind]
        HRESULT onreadystatechange([in] VARIANT p);
        [id(0x80011789), propget, bindable, displaybind]
        HRESULT onreadystatechange([out, retval] VARIANT* p);
        [id(0x80011790), propput, bindable, displaybind]
        HRESULT onload([in] VARIANT p);
        [id(0x80011790), propget, bindable, displaybind]
        HRESULT onload([out, retval] VARIANT* p);
        [id(0x8001178d), propput, bindable, displaybind]
        HRESULT onerror([in] VARIANT p);
        [id(0x8001178d), propget, bindable, displaybind]
        HRESULT onerror([out, retval] VARIANT* p);
        [id(0x000003ec), propget]
        HRESULT styleSheet([out, retval] IHTMLStyleSheet** p);
        [id(0x8001004c), propput, bindable, displaybind]
        HRESULT disabled([in] VARIANT_BOOL p);
        [id(0x8001004c), propget, bindable, displaybind]
        HRESULT disabled([out, retval] VARIANT_BOOL* p);
        [id(0x000003ee), propput, bindable, displaybind]
        HRESULT media([in] BSTR p);
        [id(0x000003ee), propget, bindable, displaybind]
        HRESULT media([out, retval] BSTR* p);
    };

    [
      uuid(3050F511-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLStyleElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001040f), propget]
            BSTR scopeName();
            [id(0x80010410)]
            void setCapture([in, optional, defaultvalue(-1)] VARIANT_BOOL containerCapture);
            [id(0x80010411)]
            void releaseCapture();
            [id(0x8001179e), propput, bindable, displaybind]
            void onlosecapture(VARIANT rhs);
            [id(0x8001179e), propget, bindable, displaybind]
            VARIANT onlosecapture();
            [id(0x80010412)]
            BSTR componentFromPoint(
                            [in] long x, 
                            [in] long y);
            [id(0x80010413)]
            void doScroll([in, optional] VARIANT component);
            [id(0x8001178f), propput, bindable, displaybind]
            void onscroll(VARIANT rhs);
            [id(0x8001178f), propget, bindable, displaybind]
            VARIANT onscroll();
            [id(0x800117a1), propput, bindable, displaybind]
            void ondrag(VARIANT rhs);
            [id(0x800117a1), propget, bindable, displaybind]
            VARIANT ondrag();
            [id(0x800117a2), propput, bindable, displaybind]
            void ondragend(VARIANT rhs);
            [id(0x800117a2), propget, bindable, displaybind]
            VARIANT ondragend();
            [id(0x800117a3), propput, bindable, displaybind]
            void ondragenter(VARIANT rhs);
            [id(0x800117a3), propget, bindable, displaybind]
            VARIANT ondragenter();
            [id(0x800117a4), propput, bindable, displaybind]
            void ondragover(VARIANT rhs);
            [id(0x800117a4), propget, bindable, displaybind]
            VARIANT ondragover();
            [id(0x800117a5), propput, bindable, displaybind]
            void ondragleave(VARIANT rhs);
            [id(0x800117a5), propget, bindable, displaybind]
            VARIANT ondragleave();
            [id(0x800117a6), propput, bindable, displaybind]
            void ondrop(VARIANT rhs);
            [id(0x800117a6), propget, bindable, displaybind]
            VARIANT ondrop();
            [id(0x800117aa), propput, bindable, displaybind]
            void onbeforecut(VARIANT rhs);
            [id(0x800117aa), propget, bindable, displaybind]
            VARIANT onbeforecut();
            [id(0x800117a7), propput, bindable, displaybind]
            void oncut(VARIANT rhs);
            [id(0x800117a7), propget, bindable, displaybind]
            VARIANT oncut();
            [id(0x800117ab), propput, bindable, displaybind]
            void onbeforecopy(VARIANT rhs);
            [id(0x800117ab), propget, bindable, displaybind]
            VARIANT onbeforecopy();
            [id(0x800117a8), propput, bindable, displaybind]
            void oncopy(VARIANT rhs);
            [id(0x800117a8), propget, bindable, displaybind]
            VARIANT oncopy();
            [id(0x800117ac), propput, bindable, displaybind]
            void onbeforepaste(VARIANT rhs);
            [id(0x800117ac), propget, bindable, displaybind]
            VARIANT onbeforepaste();
            [id(0x800117a9), propput, bindable, displaybind]
            void onpaste(VARIANT rhs);
            [id(0x800117a9), propget, bindable, displaybind]
            VARIANT onpaste();
            [id(0x800103ef), propget]
            IHTMLCurrentStyle* currentStyle();
            [id(0x8001179f), propput, bindable, displaybind]
            void onpropertychange(VARIANT rhs);
            [id(0x8001179f), propget, bindable, displaybind]
            VARIANT onpropertychange();
            [id(0x80010414)]
            IHTMLRectCollection* getClientRects();
            [id(0x80010415)]
            IHTMLRect* getBoundingClientRect();
            [id(0x800101f8)]
            void setExpression(
                            [in] BSTR propname, 
                            [in] BSTR expression, 
                            [in, optional, defaultvalue("")] BSTR language);
            [id(0x800101f9)]
            VARIANT getExpression([in] BSTR propname);
            [id(0x800101fa)]
            VARIANT_BOOL removeExpression([in] BSTR propname);
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800101fb)]
            VARIANT_BOOL attachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800101fc)]
            void detachEvent(
                            [in] BSTR event, 
                            [in] IDispatch* pdisp);
            [id(0x800113fc), propget]
            VARIANT readyState();
            [id(0x80011789), propput, bindable, displaybind]
            void onreadystatechange(VARIANT rhs);
            [id(0x80011789), propget, bindable, displaybind]
            VARIANT onreadystatechange();
            [id(0x800117ae), propput, bindable, displaybind]
            void onrowsdelete(VARIANT rhs);
            [id(0x800117ae), propget, bindable, displaybind]
            VARIANT onrowsdelete();
            [id(0x800117af), propput, bindable, displaybind]
            void onrowsinserted(VARIANT rhs);
            [id(0x800117af), propget, bindable, displaybind]
            VARIANT onrowsinserted();
            [id(0x800117b0), propput, bindable, displaybind]
            void oncellchange(VARIANT rhs);
            [id(0x800117b0), propget, bindable, displaybind]
            VARIANT oncellchange();
            [id(0x800113fd), propput, bindable, displaybind]
            void dir(BSTR rhs);
            [id(0x800113fd), propget, bindable, displaybind]
            BSTR dir();
            [id(0x80010420)]
            IDispatch* createControlRange();
            [id(0x80010421), propget, bindable, displaybind]
            long scrollHeight();
            [id(0x80010422), propget, bindable, displaybind]
            long scrollWidth();
            [id(0x80010423), propput, bindable, displaybind]
            void scrollTop(long rhs);
            [id(0x80010423), propget, bindable, displaybind]
            long scrollTop();
            [id(0x80010424), propput, bindable, displaybind]
            void scrollLeft(long rhs);
            [id(0x80010424), propget, bindable, displaybind]
            long scrollLeft();
            [id(0x80010426)]
            void clearAttributes();
            [id(0x800117b1), propput, bindable, displaybind]
            void oncontextmenu(VARIANT rhs);
            [id(0x800117b1), propget, bindable, displaybind]
            VARIANT oncontextmenu();
            [id(0x8001042d)]
            IHTMLElement* insertAdjacentElement(
                            [in] BSTR where, 
                            [in] IHTMLElement* insertedElement);
            [id(0x80010429)]
            IHTMLElement* applyElement(
                            [in] IHTMLElement* apply, 
                            [in] BSTR where);
            [id(0x8001042e)]
            BSTR getAdjacentText([in] BSTR where);
            [id(0x8001042f)]
            BSTR replaceAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR newText);
            [id(0x80010430), propget]
            VARIANT_BOOL canHaveChildren();
            [id(0x80010438)]
            long addBehavior(
                            [in] BSTR bstrUrl, 
                            [in, optional] VARIANT* pvarFactory);
            [id(0x80010439)]
            VARIANT_BOOL removeBehavior([in] long cookie);
            [id(0x80010428), propget]
            IHTMLStyle* runtimeStyle();
            [id(0x8001043a), propget]
            IDispatch* behaviorUrns();
            [id(0x8001043b), propput]
            void tagUrn(BSTR rhs);
            [id(0x8001043b), propget]
            BSTR tagUrn();
            [id(0x800117b5), propput, bindable, displaybind]
            void onbeforeeditfocus(VARIANT rhs);
            [id(0x800117b5), propget, bindable, displaybind]
            VARIANT onbeforeeditfocus();
            [id(0x8001043c), propget, restricted, hidden]
            long readyStateValue();
            [id(0x8001043d)]
            IHTMLElementCollection* getElementsByTagName([in] BSTR v);
            [id(0x80010448)]
            void mergeAttributes(
                            [in] IHTMLElement* mergeThis, 
                            [in, optional] VARIANT* pvarFlags);
            [id(0x80010449), propget]
            VARIANT_BOOL isMultiLine();
            [id(0x8001044a), propget]
            VARIANT_BOOL canHaveHTML();
            [id(0x800117b9), propput, bindable, displaybind]
            void onlayoutcomplete(VARIANT rhs);
            [id(0x800117b9), propget, bindable, displaybind]
            VARIANT onlayoutcomplete();
            [id(0x800117ba), propput, bindable, displaybind]
            void onpage(VARIANT rhs);
            [id(0x800117ba), propget, bindable, displaybind]
            VARIANT onpage();
            [id(0x8001044c), propput, restricted, hidden]
            void inflateBlock(VARIANT_BOOL rhs);
            [id(0x8001044c), propget, restricted, hidden]
            VARIANT_BOOL inflateBlock();
            [id(0x800117bd), propput, bindable, displaybind]
            void onbeforedeactivate(VARIANT rhs);
            [id(0x800117bd), propget, bindable, displaybind]
            VARIANT onbeforedeactivate();
            [id(0x8001044d)]
            void setActive();
            [id(0x8001142a), propput, bindable, displaybind]
            void contentEditable(BSTR rhs);
            [id(0x8001142a), propget, bindable, displaybind]
            BSTR contentEditable();
            [id(0x8001044e), propget]
            VARIANT_BOOL isContentEditable();
            [id(0x8001142b), propput, bindable, displaybind]
            void hideFocus(VARIANT_BOOL rhs);
            [id(0x8001142b), propget, bindable, displaybind]
            VARIANT_BOOL hideFocus();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x80010451), propget]
            VARIANT_BOOL isDisabled();
            [id(0x800117be), propput, bindable, displaybind]
            void onmove(VARIANT rhs);
            [id(0x800117be), propget, bindable, displaybind]
            VARIANT onmove();
            [id(0x800117bf), propput, bindable, displaybind]
            void oncontrolselect(VARIANT rhs);
            [id(0x800117bf), propget, bindable, displaybind]
            VARIANT oncontrolselect();
            [id(0x80010452)]
            VARIANT_BOOL FireEvent(
                            [in] BSTR bstrEventName, 
                            [in, optional] VARIANT* pvarEventObject);
            [id(0x800117c3), propput, bindable, displaybind]
            void onresizestart(VARIANT rhs);
            [id(0x800117c3), propget, bindable, displaybind]
            VARIANT onresizestart();
            [id(0x800117c4), propput, bindable, displaybind]
            void onresizeend(VARIANT rhs);
            [id(0x800117c4), propget, bindable, displaybind]
            VARIANT onresizeend();
            [id(0x800117c1), propput, bindable, displaybind]
            void onmovestart(VARIANT rhs);
            [id(0x800117c1), propget, bindable, displaybind]
            VARIANT onmovestart();
            [id(0x800117c2), propput, bindable, displaybind]
            void onmoveend(VARIANT rhs);
            [id(0x800117c2), propget, bindable, displaybind]
            VARIANT onmoveend();
            [id(0x800117c5), propput, bindable, displaybind]
            void onmouseenter(VARIANT rhs);
            [id(0x800117c5), propget, bindable, displaybind]
            VARIANT onmouseenter();
            [id(0x800117c6), propput, bindable, displaybind]
            void onmouseleave(VARIANT rhs);
            [id(0x800117c6), propget, bindable, displaybind]
            VARIANT onmouseleave();
            [id(0x800117c7), propput, bindable, displaybind]
            void onactivate(VARIANT rhs);
            [id(0x800117c7), propget, bindable, displaybind]
            VARIANT onactivate();
            [id(0x800117c8), propput, bindable, displaybind]
            void ondeactivate(VARIANT rhs);
            [id(0x800117c8), propget, bindable, displaybind]
            VARIANT ondeactivate();
            [id(0x80010453)]
            VARIANT_BOOL dragDrop();
            [id(0x80010454), propget, restricted, hidden]
            long glyphMode();
            [id(0x800117bc), propput, bindable, displaybind]
            void onmousewheel(VARIANT rhs);
            [id(0x800117bc), propget, bindable, displaybind]
            VARIANT onmousewheel();
            [id(0x80010458)]
            void normalize();
            [id(0x80010455)]
            IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrName);
            [id(0x80010456)]
            IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x80010457)]
            IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
            [id(0x800117ca), propput, bindable, displaybind]
            void onbeforeactivate(VARIANT rhs);
            [id(0x800117ca), propget, bindable, displaybind]
            VARIANT onbeforeactivate();
            [id(0x800117cb), propput, bindable, displaybind]
            void onfocusin(VARIANT rhs);
            [id(0x800117cb), propget, bindable, displaybind]
            VARIANT onfocusin();
            [id(0x800117cc), propput, bindable, displaybind]
            void onfocusout(VARIANT rhs);
            [id(0x800117cc), propget, bindable, displaybind]
            VARIANT onfocusout();
            [id(0x8001041e), propget, hidden]
            long uniqueNumber();
            [id(0x8001041f), propget, hidden]
            BSTR uniqueID();
            [id(0x80010416), propget]
            long nodeType();
            [id(0x80010417), propget]
            IHTMLDOMNode* parentNode();
            [id(0x80010418)]
            VARIANT_BOOL hasChildNodes();
            [id(0x80010419), propget]
            IDispatch* childNodes();
            [id(0x8001041a), propget]
            IDispatch* attributes();
            [id(0x8001041b)]
            IHTMLDOMNode* insertBefore(
                            [in] IHTMLDOMNode* newChild, 
                            [in, optional] VARIANT refChild);
            [id(0x8001041c)]
            IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
            [id(0x8001041d)]
            IHTMLDOMNode* replaceChild(
                            [in] IHTMLDOMNode* newChild, 
                            [in] IHTMLDOMNode* oldChild);
            [id(0x80010425)]
            IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
            [id(0x8001042a)]
            IHTMLDOMNode* removeNode([in, optional, defaultvalue(0)] VARIANT_BOOL fDeep);
            [id(0x8001042c)]
            IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
            [id(0x8001042b)]
            IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
            [id(0x80010431)]
            IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
            [id(0x80010432), propget]
            BSTR nodeName();
            [id(0x80010433), propput]
            void nodeValue(VARIANT rhs);
            [id(0x80010433), propget]
            VARIANT nodeValue();
            [id(0x80010434), propget]
            IHTMLDOMNode* firstChild();
            [id(0x80010435), propget]
            IHTMLDOMNode* lastChild();
            [id(0x80010436), propget]
            IHTMLDOMNode* previousSibling();
            [id(0x80010437), propget]
            IHTMLDOMNode* nextSibling();
            [id(0x80010459), propget]
            IDispatch* ownerDocument();
            [id(0x000003ea), propput, bindable, displaybind]
            void type(BSTR rhs);
            [id(0x000003ea), propget, bindable, displaybind]
            BSTR type();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x000003ec), propget]
            IHTMLStyleSheet* styleSheet();
            [id(0x000003ee), propput, bindable, displaybind]
            void media(BSTR rhs);
            [id(0x000003ee), propget, bindable, displaybind]
            BSTR media();
    };

    [
      uuid(3050F37D-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyleElement {
        [default] dispinterface DispHTMLStyleElement;
        [default, source] dispinterface HTMLStyleElementEvents;
        [source] dispinterface HTMLStyleElementEvents2;
        interface IHTMLElement;
        interface IHTMLElement2;
        interface IHTMLElement3;
        interface IHTMLElement4;
        interface IHTMLUniqueName;
        interface IHTMLDOMNode;
        interface IHTMLDOMNode2;
        interface IHTMLStyleElement;
    };

    [
      odl,
      uuid(3050F3D5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLStyleFontFace : IDispatch {
        [id(0x800113e9), propput, bindable, displaybind]
        HRESULT fontsrc([in] BSTR p);
        [id(0x800113e9), propget, bindable, displaybind]
        HRESULT fontsrc([out, retval] BSTR* p);
    };

    [
      uuid(3050F3D4-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLStyleFontFace {
        [default] interface IHTMLStyleFontFace;
    };

    typedef enum {
        ELEMENT_CORNER_NONE = 0,
        ELEMENT_CORNER_TOP = 1,
        ELEMENT_CORNER_LEFT = 2,
        ELEMENT_CORNER_BOTTOM = 3,
        ELEMENT_CORNER_RIGHT = 4,
        ELEMENT_CORNER_TOPLEFT = 5,
        ELEMENT_CORNER_TOPRIGHT = 6,
        ELEMENT_CORNER_BOTTOMLEFT = 7,
        ELEMENT_CORNER_BOTTOMRIGHT = 8,
        ELEMENT_CORNER_Max = 0x7fffffff
    } _ELEMENT_CORNER;

    typedef enum {
        SUHV_PROMPTBEFORENO = 1,
        SUHV_SILENTYES = 2,
        SUHV_UNSECURESOURCE = 4,
        SECUREURLHOSTVALIDATE_FLAGS_Max = 0x7fffffff
    } _SECUREURLHOSTVALIDATE_FLAGS;

    typedef enum {
        POINTER_GRAVITY_Left = 0,
        POINTER_GRAVITY_Right = 1,
        POINTER_GRAVITY_Max = 0x7fffffff
    } _POINTER_GRAVITY;

    typedef enum {
        ELEM_ADJ_BeforeBegin = 0,
        ELEM_ADJ_AfterBegin = 1,
        ELEM_ADJ_BeforeEnd = 2,
        ELEM_ADJ_AfterEnd = 3,
        ELEMENT_ADJACENCY_Max = 0x7fffffff
    } _ELEMENT_ADJACENCY;

    typedef enum {
        CONTEXT_TYPE_None = 0,
        CONTEXT_TYPE_Text = 1,
        CONTEXT_TYPE_EnterScope = 2,
        CONTEXT_TYPE_ExitScope = 3,
        CONTEXT_TYPE_NoScope = 4,
        MARKUP_CONTEXT_TYPE_Max = 0x7fffffff
    } _MARKUP_CONTEXT_TYPE;

    typedef enum {
        FINDTEXT_BACKWARDS = 1,
        FINDTEXT_WHOLEWORD = 2,
        FINDTEXT_MATCHCASE = 4,
        FINDTEXT_RAW = 0x00020000,
        FINDTEXT_MATCHDIAC = 0x20000000,
        FINDTEXT_MATCHKASHIDA = 0x40000000,
        FINDTEXT_MATCHALEFHAMZA = 0x80000000,
        FINDTEXT_FLAGS_Max = 0x7fffffff
    } _FINDTEXT_FLAGS;

    typedef enum {
        MOVEUNIT_PREVCHAR = 0,
        MOVEUNIT_NEXTCHAR = 1,
        MOVEUNIT_PREVCLUSTERBEGIN = 2,
        MOVEUNIT_NEXTCLUSTERBEGIN = 3,
        MOVEUNIT_PREVCLUSTEREND = 4,
        MOVEUNIT_NEXTCLUSTEREND = 5,
        MOVEUNIT_PREVWORDBEGIN = 6,
        MOVEUNIT_NEXTWORDBEGIN = 7,
        MOVEUNIT_PREVWORDEND = 8,
        MOVEUNIT_NEXTWORDEND = 9,
        MOVEUNIT_PREVPROOFWORD = 10,
        MOVEUNIT_NEXTPROOFWORD = 11,
        MOVEUNIT_NEXTURLBEGIN = 12,
        MOVEUNIT_PREVURLBEGIN = 13,
        MOVEUNIT_NEXTURLEND = 14,
        MOVEUNIT_PREVURLEND = 15,
        MOVEUNIT_PREVSENTENCE = 16,
        MOVEUNIT_NEXTSENTENCE = 17,
        MOVEUNIT_PREVBLOCK = 18,
        MOVEUNIT_NEXTBLOCK = 19,
        MOVEUNIT_ACTION_Max = 0x7fffffff
    } _MOVEUNIT_ACTION;

    typedef enum {
        PARSE_ABSOLUTIFYIE40URLS = 1,
        PARSE_FLAGS_Max = 0x7fffffff
    } _PARSE_FLAGS;

    typedef enum {
        TAGID_NULL = 0,
        TAGID_UNKNOWN = 1,
        TAGID_A = 2,
        TAGID_ACRONYM = 3,
        TAGID_ADDRESS = 4,
        TAGID_APPLET = 5,
        TAGID_AREA = 6,
        TAGID_B = 7,
        TAGID_BASE = 8,
        TAGID_BASEFONT = 9,
        TAGID_BDO = 10,
        TAGID_BGSOUND = 11,
        TAGID_BIG = 12,
        TAGID_BLINK = 13,
        TAGID_BLOCKQUOTE = 14,
        TAGID_BODY = 15,
        TAGID_BR = 16,
        TAGID_BUTTON = 17,
        TAGID_CAPTION = 18,
        TAGID_CENTER = 19,
        TAGID_CITE = 20,
        TAGID_CODE = 21,
        TAGID_COL = 22,
        TAGID_COLGROUP = 23,
        TAGID_COMMENT = 24,
        TAGID_COMMENT_RAW = 25,
        TAGID_DD = 26,
        TAGID_DEL = 27,
        TAGID_DFN = 28,
        TAGID_DIR = 29,
        TAGID_DIV = 30,
        TAGID_DL = 31,
        TAGID_DT = 32,
        TAGID_EM = 33,
        TAGID_EMBED = 34,
        TAGID_FIELDSET = 35,
        TAGID_FONT = 36,
        TAGID_FORM = 37,
        TAGID_FRAME = 38,
        TAGID_FRAMESET = 39,
        TAGID_GENERIC = 40,
        TAGID_H1 = 41,
        TAGID_H2 = 42,
        TAGID_H3 = 43,
        TAGID_H4 = 44,
        TAGID_H5 = 45,
        TAGID_H6 = 46,
        TAGID_HEAD = 47,
        TAGID_HR = 48,
        TAGID_HTML = 49,
        TAGID_I = 50,
        TAGID_IFRAME = 51,
        TAGID_IMG = 52,
        TAGID_INPUT = 53,
        TAGID_INS = 54,
        TAGID_KBD = 55,
        TAGID_LABEL = 56,
        TAGID_LEGEND = 57,
        TAGID_LI = 58,
        TAGID_LINK = 59,
        TAGID_LISTING = 60,
        TAGID_MAP = 61,
        TAGID_MARQUEE = 62,
        TAGID_MENU = 63,
        TAGID_META = 64,
        TAGID_NEXTID = 65,
        TAGID_NOBR = 66,
        TAGID_NOEMBED = 67,
        TAGID_NOFRAMES = 68,
        TAGID_NOSCRIPT = 69,
        TAGID_OBJECT = 70,
        TAGID_OL = 71,
        TAGID_OPTION = 72,
        TAGID_P = 73,
        TAGID_PARAM = 74,
        TAGID_PLAINTEXT = 75,
        TAGID_PRE = 76,
        TAGID_Q = 77,
        TAGID_RP = 78,
        TAGID_RT = 79,
        TAGID_RUBY = 80,
        TAGID_S = 81,
        TAGID_SAMP = 82,
        TAGID_SCRIPT = 83,
        TAGID_SELECT = 84,
        TAGID_SMALL = 85,
        TAGID_SPAN = 86,
        TAGID_STRIKE = 87,
        TAGID_STRONG = 88,
        TAGID_STYLE = 89,
        TAGID_SUB = 90,
        TAGID_SUP = 91,
        TAGID_TABLE = 92,
        TAGID_TBODY = 93,
        TAGID_TC = 94,
        TAGID_TD = 95,
        TAGID_TEXTAREA = 96,
        TAGID_TFOOT = 97,
        TAGID_TH = 98,
        TAGID_THEAD = 99,
        TAGID_TITLE = 100,
        TAGID_TR = 101,
        TAGID_TT = 102,
        TAGID_U = 103,
        TAGID_UL = 104,
        TAGID_VAR = 105,
        TAGID_WBR = 106,
        TAGID_XMP = 107,
        TAGID_ROOT = 108,
        TAGID_OPTGROUP = 109,
        TAGID_COUNT = 110,
        TAGID_LAST_PREDEFINED = 10000,
        ELEMENT_TAG_ID_Max = 0x7fffffff
    } _ELEMENT_TAG_ID;

    typedef enum {
        SELECTION_TYPE_None = 0,
        SELECTION_TYPE_Caret = 1,
        SELECTION_TYPE_Text = 2,
        SELECTION_TYPE_Control = 3,
        SELECTION_TYPE_Max = 0x7fffffff
    } _SELECTION_TYPE;

    typedef enum {
        SAVE_SEGMENTS_NoIE4SelectionCompat = 1,
        SAVE_SEGMENTS_FLAGS_Max = 0x7fffffff
    } _SAVE_SEGMENTS_FLAGS;

    typedef enum {
        CARET_DIRECTION_INDETERMINATE = 0,
        CARET_DIRECTION_SAME = 1,
        CARET_DIRECTION_BACKWARD = 2,
        CARET_DIRECTION_FORWARD = 3,
        CARET_DIRECTION_Max = 0x7fffffff
    } _CARET_DIRECTION;

    typedef enum {
        LINE_DIRECTION_RightToLeft = 1,
        LINE_DIRECTION_LeftToRight = 2,
        LINE_DIRECTION_Max = 0x7fffffff
    } _LINE_DIRECTION;

    typedef enum {
        HT_OPT_AllowAfterEOL = 1,
        HT_OPTIONS_Max = 0x7fffffff
    } _HT_OPTIONS;

    typedef enum {
        HT_RESULTS_Glyph = 1,
        HT_RESULTS_Max = 0x7fffffff
    } _HT_RESULTS;

    typedef enum {
        DISPLAY_MOVEUNIT_PreviousLine = 1,
        DISPLAY_MOVEUNIT_NextLine = 2,
        DISPLAY_MOVEUNIT_CurrentLineStart = 3,
        DISPLAY_MOVEUNIT_CurrentLineEnd = 4,
        DISPLAY_MOVEUNIT_TopOfWindow = 5,
        DISPLAY_MOVEUNIT_BottomOfWindow = 6,
        DISPLAY_MOVEUNIT_Max = 0x7fffffff
    } _DISPLAY_MOVEUNIT;

    typedef enum {
        DISPLAY_GRAVITY_PreviousLine = 1,
        DISPLAY_GRAVITY_NextLine = 2,
        DISPLAY_GRAVITY_Max = 0x7fffffff
    } _DISPLAY_GRAVITY;

    typedef enum {
        DISPLAY_BREAK_None = 0,
        DISPLAY_BREAK_Block = 1,
        DISPLAY_BREAK_Break = 2,
        DISPLAY_BREAK_Max = 0x7fffffff
    } _DISPLAY_BREAK;

    typedef enum {
        COORD_SYSTEM_GLOBAL = 0,
        COORD_SYSTEM_PARENT = 1,
        COORD_SYSTEM_CONTAINER = 2,
        COORD_SYSTEM_CONTENT = 3,
        COORD_SYSTEM_FRAME = 4,
        COORD_SYSTEM_Max = 0x7fffffff
    } _COORD_SYSTEM;

    [
      odl,
      uuid(3050F3ED-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ICSSFilterSite : IUnknown {
        HRESULT _stdcall GetElement([out, retval] IHTMLElement** element);
        HRESULT _stdcall FireOnFilterChangeEvent();
    };

    [
      odl,
      uuid(3050F49F-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IMarkupPointer : IUnknown {
        HRESULT _stdcall OwningDoc([out] IHTMLDocument2** ppDoc);
        HRESULT _stdcall Gravity([out] _POINTER_GRAVITY* pGravity);
        HRESULT _stdcall SetGravity([in] _POINTER_GRAVITY Gravity);
        HRESULT _stdcall Cling([out] long* pfCling);
        HRESULT _stdcall SetCling([in] long fCLing);
        HRESULT _stdcall Unposition();
        HRESULT _stdcall IsPositioned([out] long* pfPositioned);
        HRESULT _stdcall GetContainer([out] IMarkupContainer** ppContainer);
        HRESULT _stdcall MoveAdjacentToElement(
                        [in] IHTMLElement* pElement, 
                        [in] _ELEMENT_ADJACENCY eAdj);
        HRESULT _stdcall MoveToPointer([in] IMarkupPointer* pPointer);
        HRESULT _stdcall MoveToContainer(
                        [in] IMarkupContainer* pContainer, 
                        [in] long fAtStart);
        HRESULT _stdcall left(
                        [in] long fMove, 
                        [out] _MARKUP_CONTEXT_TYPE* pContext, 
                        [out] IHTMLElement** ppElement, 
                        [in, out] long* pcch, 
                        [out] unsigned short* pchText);
        HRESULT _stdcall right(
                        [in] long fMove, 
                        [out] _MARKUP_CONTEXT_TYPE* pContext, 
                        [out] IHTMLElement** ppElement, 
                        [in, out] long* pcch, 
                        [out] unsigned short* pchText);
        HRESULT _stdcall CurrentScope([out] IHTMLElement** ppElemCurrent);
        HRESULT _stdcall IsLeftOf(
                        [in] IMarkupPointer* pPointerThat, 
                        [out] long* pfResult);
        HRESULT _stdcall IsLeftOfOrEqualTo(
                        [in] IMarkupPointer* pPointerThat, 
                        [out] long* pfResult);
        HRESULT _stdcall IsRightOf(
                        [in] IMarkupPointer* pPointerThat, 
                        [out] long* pfResult);
        HRESULT _stdcall IsRightOfOrEqualTo(
                        [in] IMarkupPointer* pPointerThat, 
                        [out] long* pfResult);
        HRESULT _stdcall IsEqualTo(
                        [in] IMarkupPointer* pPointerThat, 
                        [out] long* pfAreEqual);
        HRESULT _stdcall MoveUnit([in] _MOVEUNIT_ACTION muAction);
        HRESULT _stdcall findText(
                        [in] unsigned short* pchFindText, 
                        [in] unsigned long dwFlags, 
                        [in] IMarkupPointer* pIEndMatch, 
                        [in] IMarkupPointer* pIEndSearch);
    };

    [
      odl,
      uuid(3050F5F9-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IMarkupContainer : IUnknown {
        HRESULT _stdcall OwningDoc([out] IHTMLDocument2** ppDoc);
    };

    [
      odl,
      uuid(3050F648-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IMarkupContainer2 : IMarkupContainer {
        HRESULT _stdcall CreateChangeLog(
                        [in] IHTMLChangeSink* pChangeSink, 
                        [out] IHTMLChangeLog** ppChangeLog, 
                        [in] long fForward, 
                        [in] long fBackward);
        HRESULT _stdcall RegisterForDirtyRange(
                        [in] IHTMLChangeSink* pChangeSink, 
                        [out] unsigned long* pdwCookie);
        HRESULT _stdcall UnRegisterForDirtyRange([in] unsigned long dwCookie);
        HRESULT _stdcall GetAndClearDirtyRange(
                        [in] unsigned long dwCookie, 
                        [in] IMarkupPointer* pIPointerBegin, 
                        [in] IMarkupPointer* pIPointerEnd);
        long _stdcall GetVersionNumber();
        HRESULT _stdcall GetMasterElement([out] IHTMLElement** ppElementMaster);
    };

    [
      odl,
      uuid(3050F64A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLChangeSink : IUnknown {
        HRESULT _stdcall Notify();
    };

    [
      odl,
      uuid(3050F649-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLChangeLog : IUnknown {
        HRESULT _stdcall GetNextChange(
                        [in] unsigned char* pbBuffer, 
                        [in] long nBufferSize, 
                        [out] long* pnRecordLength);
    };

    [
      odl,
      uuid(08C0E040-62D1-11D1-9326-0060B067B86E)
    ]
    interface IActiveIMMApp : IUnknown {
        HRESULT _stdcall AssociateContext(
                        [in] wireHWND hWnd, 
                        [in] unsigned long hIME, 
                        [out] unsigned long* phPrev);
        HRESULT _stdcall ConfigureIMEA(
                        [in] void* hKL, 
                        [in] wireHWND hWnd, 
                        [in] unsigned long dwMode, 
                        [in] __MIDL___MIDL_itf_mshtml_0251_0001* pData);
        HRESULT _stdcall ConfigureIMEW(
                        [in] void* hKL, 
                        [in] wireHWND hWnd, 
                        [in] unsigned long dwMode, 
                        [in] __MIDL___MIDL_itf_mshtml_0251_0002* pData);
        HRESULT _stdcall CreateContext([out] unsigned long* phIMC);
        HRESULT _stdcall DestroyContext([in] unsigned long hIME);
        HRESULT _stdcall EnumRegisterWordA(
                        [in] void* hKL, 
                        [in] LPSTR szReading, 
                        [in] unsigned long dwStyle, 
                        [in] LPSTR szRegister, 
                        [in] void* pData, 
                        [out] IEnumRegisterWordA** pEnum);
        HRESULT _stdcall EnumRegisterWordW(
                        [in] void* hKL, 
                        [in] LPWSTR szReading, 
                        [in] unsigned long dwStyle, 
                        [in] LPWSTR szRegister, 
                        [in] void* pData, 
                        [out] IEnumRegisterWordW** pEnum);
        HRESULT _stdcall EscapeA(
                        [in] void* hKL, 
                        [in] unsigned long hIMC, 
                        [in] unsigned int uEscape, 
                        [in, out] void* pData, 
                        [out] LONG_PTR* plResult);
        HRESULT _stdcall EscapeW(
                        [in] void* hKL, 
                        [in] unsigned long hIMC, 
                        [in] unsigned int uEscape, 
                        [in, out] void* pData, 
                        [out] LONG_PTR* plResult);
        HRESULT _stdcall GetCandidateListA(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [in] unsigned int uBufLen, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0007* pCandList, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetCandidateListW(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [in] unsigned int uBufLen, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0007* pCandList, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetCandidateListCountA(
                        [in] unsigned long hIMC, 
                        [out] unsigned long* pdwListSize, 
                        [out] unsigned long* pdwBufLen);
        HRESULT _stdcall GetCandidateListCountW(
                        [in] unsigned long hIMC, 
                        [out] unsigned long* pdwListSize, 
                        [out] unsigned long* pdwBufLen);
        HRESULT _stdcall GetCandidateWindow(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0005* pCandidate);
        HRESULT _stdcall GetCompositionFontA(
                        [in] unsigned long hIMC, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0003* plf);
        HRESULT _stdcall GetCompositionFontW(
                        [in] unsigned long hIMC, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0004* plf);
        HRESULT _stdcall GetCompositionStringA(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [in] unsigned long dwBufLen, 
                        [out] long* plCopied, 
                        [out] void* pBuf);
        HRESULT _stdcall GetCompositionStringW(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [in] unsigned long dwBufLen, 
                        [out] long* plCopied, 
                        [out] void* pBuf);
        HRESULT _stdcall GetCompositionWindow(
                        [in] unsigned long hIMC, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0006* pCompForm);
        HRESULT _stdcall GetContext(
                        [in] wireHWND hWnd, 
                        [out] unsigned long* phIMC);
        HRESULT _stdcall GetConversionListA(
                        [in] void* hKL, 
                        [in] unsigned long hIMC, 
                        [in] LPSTR pSrc, 
                        [in] unsigned int uBufLen, 
                        [in] unsigned int uFlag, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0007* pDst, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetConversionListW(
                        [in] void* hKL, 
                        [in] unsigned long hIMC, 
                        [in] LPWSTR pSrc, 
                        [in] unsigned int uBufLen, 
                        [in] unsigned int uFlag, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0007* pDst, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetConversionStatus(
                        [in] unsigned long hIMC, 
                        [out] unsigned long* pfdwConversion, 
                        [out] unsigned long* pfdwSentence);
        HRESULT _stdcall GetDefaultIMEWnd(
                        [in] wireHWND hWnd, 
                        [out] wireHWND* phDefWnd);
        HRESULT _stdcall GetDescriptionA(
                        [in] void* hKL, 
                        [in] unsigned int uBufLen, 
                        [out] LPSTR szDescription, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetDescriptionW(
                        [in] void* hKL, 
                        [in] unsigned int uBufLen, 
                        [out] LPWSTR szDescription, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetGuideLineA(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [in] unsigned long dwBufLen, 
                        [out] LPSTR pBuf, 
                        [out] unsigned long* pdwResult);
        HRESULT _stdcall GetGuideLineW(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [in] unsigned long dwBufLen, 
                        [out] LPWSTR pBuf, 
                        [out] unsigned long* pdwResult);
        HRESULT _stdcall GetIMEFileNameA(
                        [in] void* hKL, 
                        [in] unsigned int uBufLen, 
                        [out] LPSTR szFileName, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetIMEFileNameW(
                        [in] void* hKL, 
                        [in] unsigned int uBufLen, 
                        [out] LPWSTR szFileName, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetOpenStatus([in] unsigned long hIMC);
        HRESULT _stdcall GetProperty(
                        [in] void* hKL, 
                        [in] unsigned long fdwIndex, 
                        [out] unsigned long* pdwProperty);
        HRESULT _stdcall GetRegisterWordStyleA(
                        [in] void* hKL, 
                        [in] unsigned int nItem, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0008* pStyleBuf, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetRegisterWordStyleW(
                        [in] void* hKL, 
                        [in] unsigned int nItem, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0009* pStyleBuf, 
                        [out] unsigned int* puCopied);
        HRESULT _stdcall GetStatusWindowPos(
                        [in] unsigned long hIMC, 
                        [out] tagPOINT* pptPos);
        HRESULT _stdcall GetVirtualKey(
                        [in] wireHWND hWnd, 
                        [out] unsigned int* puVirtualKey);
        HRESULT _stdcall InstallIMEA(
                        [in] LPSTR szIMEFileName, 
                        [in] LPSTR szLayoutText, 
                        [out] void** phKL);
        HRESULT _stdcall InstallIMEW(
                        [in] LPWSTR szIMEFileName, 
                        [in] LPWSTR szLayoutText, 
                        [out] void** phKL);
        HRESULT _stdcall IsIME([in] void* hKL);
        HRESULT _stdcall IsUIMessageA(
                        [in] wireHWND hWndIME, 
                        [in] unsigned int msg, 
                        [in] UINT_PTR wParam, 
                        [in] LONG_PTR lParam);
        HRESULT _stdcall IsUIMessageW(
                        [in] wireHWND hWndIME, 
                        [in] unsigned int msg, 
                        [in] UINT_PTR wParam, 
                        [in] LONG_PTR lParam);
        HRESULT _stdcall NotifyIME(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwAction, 
                        [in] unsigned long dwIndex, 
                        [in] unsigned long dwValue);
        HRESULT _stdcall RegisterWordA(
                        [in] void* hKL, 
                        [in] LPSTR szReading, 
                        [in] unsigned long dwStyle, 
                        [in] LPSTR szRegister);
        HRESULT _stdcall RegisterWordW(
                        [in] void* hKL, 
                        [in] LPWSTR szReading, 
                        [in] unsigned long dwStyle, 
                        [in] LPWSTR szRegister);
        HRESULT _stdcall ReleaseContext(
                        [in] wireHWND hWnd, 
                        [in] unsigned long hIMC);
        HRESULT _stdcall SetCandidateWindow(
                        [in] unsigned long hIMC, 
                        [in] __MIDL___MIDL_itf_mshtml_0251_0005* pCandidate);
        HRESULT _stdcall SetCompositionFontA(
                        [in] unsigned long hIMC, 
                        [in] __MIDL___MIDL_itf_mshtml_0251_0003* plf);
        HRESULT _stdcall SetCompositionFontW(
                        [in] unsigned long hIMC, 
                        [in] __MIDL___MIDL_itf_mshtml_0251_0004* plf);
        HRESULT _stdcall SetCompositionStringA(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [in] void* pComp, 
                        [in] unsigned long dwCompLen, 
                        [in] void* pRead, 
                        [in] unsigned long dwReadLen);
        HRESULT _stdcall SetCompositionStringW(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwIndex, 
                        [in] void* pComp, 
                        [in] unsigned long dwCompLen, 
                        [in] void* pRead, 
                        [in] unsigned long dwReadLen);
        HRESULT _stdcall SetCompositionWindow(
                        [in] unsigned long hIMC, 
                        [in] __MIDL___MIDL_itf_mshtml_0251_0006* pCompForm);
        HRESULT _stdcall SetConversionStatus(
                        [in] unsigned long hIMC, 
                        [in] unsigned long fdwConversion, 
                        [in] unsigned long fdwSentence);
        HRESULT _stdcall SetOpenStatus(
                        [in] unsigned long hIMC, 
                        [in] long fOpen);
        HRESULT _stdcall SetStatusWindowPos(
                        [in] unsigned long hIMC, 
                        [in] tagPOINT* pptPos);
        HRESULT _stdcall SimulateHotKey(
                        [in] wireHWND hWnd, 
                        [in] unsigned long dwHotKeyID);
        HRESULT _stdcall UnregisterWordA(
                        [in] void* hKL, 
                        [in] LPSTR szReading, 
                        [in] unsigned long dwStyle, 
                        [in] LPSTR szUnregister);
        HRESULT _stdcall UnregisterWordW(
                        [in] void* hKL, 
                        [in] LPWSTR szReading, 
                        [in] unsigned long dwStyle, 
                        [in] LPWSTR szUnregister);
        HRESULT _stdcall Activate([in] long fRestoreLayout);
        HRESULT _stdcall Deactivate();
        HRESULT _stdcall OnDefWindowProc(
                        [in] wireHWND hWnd, 
                        [in] unsigned int msg, 
                        [in] UINT_PTR wParam, 
                        [in] LONG_PTR lParam, 
                        [out] LONG_PTR* plResult);
        HRESULT _stdcall FilterClientWindows(
                        [in] unsigned short* aaClassList, 
                        [in] unsigned int uSize);
        HRESULT _stdcall GetCodePageA(
                        [in] void* hKL, 
                        [out] unsigned int* uCodePage);
        HRESULT _stdcall GetLangId(
                        [in] void* hKL, 
                        [out] unsigned short* plid);
        HRESULT _stdcall AssociateContextEx(
                        [in] wireHWND hWnd, 
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwFlags);
        HRESULT _stdcall DisableIME([in] unsigned long idThread);
        HRESULT _stdcall GetImeMenuItemsA(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwFlags, 
                        [in] unsigned long dwType, 
                        [in] __MIDL___MIDL_itf_mshtml_0251_0010* pImeParentMenu, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0010* pImeMenu, 
                        [in] unsigned long dwSize, 
                        [out] unsigned long* pdwResult);
        HRESULT _stdcall GetImeMenuItemsW(
                        [in] unsigned long hIMC, 
                        [in] unsigned long dwFlags, 
                        [in] unsigned long dwType, 
                        [in] __MIDL___MIDL_itf_mshtml_0251_0011* pImeParentMenu, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0011* pImeMenu, 
                        [in] unsigned long dwSize, 
                        [out] unsigned long* pdwResult);
        HRESULT _stdcall EnumInputContext(
                        [in] unsigned long idThread, 
                        [out] IEnumInputContext** ppEnum);
    };

    typedef [public]
    _RemotableHandle* wireHWND;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0001 {
                
LPSTR lpReading;
                
LPSTR lpWord;
    } __MIDL___MIDL_itf_mshtml_0251_0001;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0002 {
                
LPWSTR lpReading;
                
LPWSTR lpWord;
    } __MIDL___MIDL_itf_mshtml_0251_0002;

    [
      odl,
      uuid(08C03412-F96B-11D0-A475-00AA006BCC59)
    ]
    interface IEnumRegisterWordA : IUnknown {
        HRESULT _stdcall Clone([out] IEnumRegisterWordA** ppEnum);
        HRESULT _stdcall Next(
                        [in] unsigned long ulCount, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0001* rgRegisterWord, 
                        [out] unsigned long* pcFetched);
        HRESULT _stdcall reset();
        HRESULT _stdcall Skip([in] unsigned long ulCount);
    };

    [
      odl,
      uuid(4955DD31-B159-11D0-8FCF-00AA006BCC59)
    ]
    interface IEnumRegisterWordW : IUnknown {
        HRESULT _stdcall Clone([out] IEnumRegisterWordW** ppEnum);
        HRESULT _stdcall Next(
                        [in] unsigned long ulCount, 
                        [out] __MIDL___MIDL_itf_mshtml_0251_0002* rgRegisterWord, 
                        [out] unsigned long* pcFetched);
        HRESULT _stdcall reset();
        HRESULT _stdcall Skip([in] unsigned long ulCount);
    };

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0007 {
                
unsigned long dwSize;
                
unsigned long dwStyle;
                
unsigned long dwCount;
                
unsigned long dwSelection;
                
unsigned long dwPageStart;
                
unsigned long dwPageSize;
                
unsigned long dwOffset[1];
    } __MIDL___MIDL_itf_mshtml_0251_0007;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0005 {
                
unsigned long dwIndex;
                
unsigned long dwStyle;
                
tagPOINT ptCurrentPos;
                
tagRECT rcArea;
    } __MIDL___MIDL_itf_mshtml_0251_0005;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0003 {
                
long lfHeight;
                
long lfWidth;
                
long lfEscapement;
                
long lfOrientation;
                
long lfWeight;
                
unsigned char lfItalic;
                
unsigned char lfUnderline;
                
unsigned char lfStrikeOut;
                
unsigned char lfCharSet;
                
unsigned char lfOutPrecision;
                
unsigned char lfClipPrecision;
                
unsigned char lfQuality;
                
unsigned char lfPitchAndFamily;
                
unsigned char lfFaceName[32];
    } __MIDL___MIDL_itf_mshtml_0251_0003;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0004 {
                
long lfHeight;
                
long lfWidth;
                
long lfEscapement;
                
long lfOrientation;
                
long lfWeight;
                
unsigned char lfItalic;
                
unsigned char lfUnderline;
                
unsigned char lfStrikeOut;
                
unsigned char lfCharSet;
                
unsigned char lfOutPrecision;
                
unsigned char lfClipPrecision;
                
unsigned char lfQuality;
                
unsigned char lfPitchAndFamily;
                
unsigned short lfFaceName[32];
    } __MIDL___MIDL_itf_mshtml_0251_0004;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0006 {
                
unsigned long dwStyle;
                
tagPOINT ptCurrentPos;
                
tagRECT rcArea;
    } __MIDL___MIDL_itf_mshtml_0251_0006;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0008 {
                
unsigned long dwStyle;
                
unsigned char szDescription[32];
    } __MIDL___MIDL_itf_mshtml_0251_0008;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0009 {
                
unsigned long dwStyle;
                
unsigned short szDescription[32];
    } __MIDL___MIDL_itf_mshtml_0251_0009;

    typedef [public]
    unsigned long UINT_PTR;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0010 {
                
unsigned int cbSize;
                
unsigned int fType;
                
unsigned int fState;
                
unsigned int wID;
                
wireHBITMAP hbmpChecked;
                
wireHBITMAP hbmpUnchecked;
                
unsigned long dwItemData;
                
unsigned char szString[80];
                
wireHBITMAP hbmpItem;
    } __MIDL___MIDL_itf_mshtml_0251_0010;

    typedef [public]
    _userHBITMAP* wireHBITMAP;

    typedef struct tag_userHBITMAP {
                
long fContext;
                
__MIDL_IWinTypes_0007 u;
    } _userHBITMAP;

    typedef union tag__MIDL_IWinTypes_0007 {
                
long hInproc;
                
_userBITMAP* hRemote;
                
int64 hInproc64;
    } __MIDL_IWinTypes_0007;

    typedef struct tag_userBITMAP {
                
long bmType;
                
long bmWidth;
                
long bmHeight;
                
long bmWidthBytes;
                
unsigned short bmPlanes;
                
unsigned short bmBitsPixel;
                
unsigned long cbSize;
                
unsigned char* pBuffer;
    } _userBITMAP;

    typedef struct tag__MIDL___MIDL_itf_mshtml_0251_0011 {
                
unsigned int cbSize;
                
unsigned int fType;
                
unsigned int fState;
                
unsigned int wID;
                
wireHBITMAP hbmpChecked;
                
wireHBITMAP hbmpUnchecked;
                
unsigned long dwItemData;
                
unsigned short szString[80];
                
wireHBITMAP hbmpItem;
    } __MIDL___MIDL_itf_mshtml_0251_0011;

    [
      odl,
      uuid(09B5EAB0-F997-11D1-93D4-0060B067B86E)
    ]
    interface IEnumInputContext : IUnknown {
        HRESULT _stdcall Clone([out] IEnumInputContext** ppEnum);
        HRESULT _stdcall Next(
                        [in] unsigned long ulCount, 
                        [out] unsigned long* rgInputContext, 
                        [out] unsigned long* pcFetched);
        HRESULT _stdcall reset();
        HRESULT _stdcall Skip([in] unsigned long ulCount);
    };

    [
      odl,
      uuid(3050F605-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ISegmentList : IUnknown {
        HRESULT _stdcall CreateIterator([out] ISegmentListIterator** ppIIter);
        HRESULT _stdcall GetType([out] _SELECTION_TYPE* peType);
        HRESULT _stdcall IsEmpty([out] long* pfEmpty);
    };

    [
      odl,
      uuid(3050F692-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ISegmentListIterator : IUnknown {
        HRESULT _stdcall Current([out] ISegment** ppISegment);
        HRESULT _stdcall First();
        HRESULT _stdcall IsDone();
        HRESULT _stdcall Advance();
    };

    [
      odl,
      uuid(3050F683-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ISegment : IUnknown {
        HRESULT _stdcall GetPointers(
                        [in] IMarkupPointer* pIStart, 
                        [in] IMarkupPointer* pIEnd);
    };

    [
      odl,
      uuid(3050F604-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLCaret : IUnknown {
        HRESULT _stdcall MoveCaretToPointer(
                        [in] IDisplayPointer* pDispPointer, 
                        [in] long fScrollIntoView, 
                        [in] _CARET_DIRECTION eDir);
        HRESULT _stdcall MoveCaretToPointerEx(
                        [in] IDisplayPointer* pDispPointer, 
                        [in] long fVisible, 
                        [in] long fScrollIntoView, 
                        [in] _CARET_DIRECTION eDir);
        HRESULT _stdcall MoveMarkupPointerToCaret([in] IMarkupPointer* pIMarkupPointer);
        HRESULT _stdcall MoveDisplayPointerToCaret([in] IDisplayPointer* pDispPointer);
        HRESULT _stdcall IsVisible([out] long* pIsVisible);
        HRESULT _stdcall Show([in] long fScrollIntoView);
        HRESULT _stdcall Hide();
        HRESULT _stdcall InsertText(
                        [in] unsigned short* pText, 
                        [in] long lLen);
        HRESULT _stdcall scrollIntoView();
        HRESULT _stdcall GetLocation(
                        [out] tagPOINT* pPoint, 
                        [in] long fTranslate);
        HRESULT _stdcall GetCaretDirection([out] _CARET_DIRECTION* peDir);
        HRESULT _stdcall SetCaretDirection([in] _CARET_DIRECTION eDir);
    };

    [
      odl,
      uuid(3050F69E-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IDisplayPointer : IUnknown {
        HRESULT _stdcall moveToPoint(
                        [in] tagPOINT ptPoint, 
                        [in] _COORD_SYSTEM eCoordSystem, 
                        [in] IHTMLElement* pElementContext, 
                        [in] unsigned long dwHitTestOptions, 
                        [out] unsigned long* pdwHitTestResults);
        HRESULT _stdcall MoveUnit(
                        [in] _DISPLAY_MOVEUNIT eMoveUnit, 
                        [in] long lXPos);
        HRESULT _stdcall PositionMarkupPointer([in] IMarkupPointer* pMarkupPointer);
        HRESULT _stdcall MoveToPointer([in] IDisplayPointer* pDispPointer);
        HRESULT _stdcall SetPointerGravity([in] _POINTER_GRAVITY eGravity);
        HRESULT _stdcall GetPointerGravity([out] _POINTER_GRAVITY* peGravity);
        HRESULT _stdcall SetDisplayGravity([in] _DISPLAY_GRAVITY eGravity);
        HRESULT _stdcall GetDisplayGravity([out] _DISPLAY_GRAVITY* peGravity);
        HRESULT _stdcall IsPositioned([out] long* pfPositioned);
        HRESULT _stdcall Unposition();
        HRESULT _stdcall IsEqualTo(
                        [in] IDisplayPointer* pDispPointer, 
                        [out] long* pfIsEqual);
        HRESULT _stdcall IsLeftOf(
                        [in] IDisplayPointer* pDispPointer, 
                        [out] long* pfIsLeftOf);
        HRESULT _stdcall IsRightOf(
                        [in] IDisplayPointer* pDispPointer, 
                        [out] long* pfIsRightOf);
        HRESULT _stdcall IsAtBOL([out] long* pfBOL);
        HRESULT _stdcall MoveToMarkupPointer(
                        [in] IMarkupPointer* pPointer, 
                        [in] IDisplayPointer* pDispLineContext);
        HRESULT _stdcall scrollIntoView();
        HRESULT _stdcall GetLineInfo([out] ILineInfo** ppLineInfo);
        HRESULT _stdcall GetFlowElement([out] IHTMLElement** ppLayoutElement);
        HRESULT _stdcall QueryBreaks([out] unsigned long* pdwBreaks);
    };

    [
      odl,
      uuid(3050F7E2-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ILineInfo : IUnknown {
        [propget]
        HRESULT _stdcall x([out, retval] long* p);
        [propget]
        HRESULT _stdcall baseLine([out, retval] long* p);
        [propget]
        HRESULT _stdcall textDescent([out, retval] long* p);
        [propget]
        HRESULT _stdcall textHeight([out, retval] long* p);
        [propget]
        HRESULT _stdcall lineDirection([out, retval] long* p);
    };

    [
      odl,
      uuid(3050F68F-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementSegment : ISegment {
        HRESULT _stdcall GetElement([out] IHTMLElement** ppIElement);
        HRESULT _stdcall SetPrimary([in] long fPrimary);
        HRESULT _stdcall IsPrimary([out] long* pfPrimary);
    };

    [
      odl,
      uuid(3050F690-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHighlightSegment : ISegment {
    };

    [
      odl,
      uuid(3050F606-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHighlightRenderingServices : IUnknown {
        HRESULT _stdcall AddSegment(
                        [in] IDisplayPointer* pDispPointerStart, 
                        [in] IDisplayPointer* pDispPointerEnd, 
                        [in] IHTMLRenderStyle* pIRenderStyle, 
                        [out] IHighlightSegment** ppISegment);
        HRESULT _stdcall MoveSegmentToPointers(
                        [in] IHighlightSegment* pISegment, 
                        [in] IDisplayPointer* pDispPointerStart, 
                        [in] IDisplayPointer* pDispPointerEnd);
        HRESULT _stdcall RemoveSegment([in] IHighlightSegment* pISegment);
    };

    [
      odl,
      uuid(3050F69D-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IDisplayServices : IUnknown {
        HRESULT _stdcall CreateDisplayPointer([out] IDisplayPointer** ppDispPointer);
        HRESULT _stdcall TransformRect(
                        [in, out] tagRECT* pRect, 
                        [in] _COORD_SYSTEM eSource, 
                        [in] _COORD_SYSTEM eDestination, 
                        [in] IHTMLElement* pIElement);
        HRESULT _stdcall TransformPoint(
                        [in, out] tagPOINT* pPoint, 
                        [in] _COORD_SYSTEM eSource, 
                        [in] _COORD_SYSTEM eDestination, 
                        [in] IHTMLElement* pIElement);
        HRESULT _stdcall GetCaret([out] IHTMLCaret** ppCaret);
        HRESULT _stdcall GetComputedStyle(
                        [in] IMarkupPointer* pPointer, 
                        [out] IHTMLComputedStyle** ppComputedStyle);
        HRESULT _stdcall ScrollRectIntoView(
                        [in] IHTMLElement* pIElement, 
                        [in] tagRECT rect);
        HRESULT _stdcall HasFlowLayout(
                        [in] IHTMLElement* pIElement, 
                        [out] long* pfHasFlowLayout);
    };

    [
      odl,
      uuid(3050F6C3-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLComputedStyle : IUnknown {
        [propget]
        HRESULT _stdcall bold([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall italic([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall underline([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall overline([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall strikeOut([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall subScript([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall superScript([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall explicitFace([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall fontWeight([out, retval] long* p);
        [propget]
        HRESULT _stdcall fontSize([out, retval] long* p);
        [propget]
        HRESULT _stdcall fontName([out, retval] unsigned short* p);
        [propget]
        HRESULT _stdcall hasBgColor([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall textColor([out, retval] unsigned long* p);
        [propget]
        HRESULT _stdcall backgroundColor([out, retval] unsigned long* p);
        [propget]
        HRESULT _stdcall preFormatted([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall direction([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall blockDirection([out, retval] VARIANT_BOOL* p);
        [propget]
        HRESULT _stdcall OL([out, retval] VARIANT_BOOL* p);
        HRESULT _stdcall isEqual(
                        [in] IHTMLComputedStyle* pComputedStyle, 
                        [out] VARIANT_BOOL* pfEqual);
    };

    [
      odl,
      uuid(3050F81A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHtmlDlgSafeHelper : IDispatch {
        HRESULT _stdcall choosecolordlg(
                        [in, optional] VARIANT initColor, 
                        [out, retval] VARIANT* rgbColor);
        HRESULT _stdcall getCharset(
                        [in] BSTR fontName, 
                        [out, retval] VARIANT* charset);
        [propget]
        HRESULT _stdcall fonts([out, retval] IDispatch** p);
        [propget]
        HRESULT _stdcall BlockFormats([out, retval] IDispatch** p);
    };

    [
      odl,
      uuid(3050F830-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IBlockFormats : IDispatch {
        [propget, restricted]
        HRESULT _stdcall _newEnum([out, retval] IUnknown** p);
        [propget]
        HRESULT _stdcall Count([out, retval] long* p);
        HRESULT _stdcall item(
                        [in] VARIANT* pvarIndex, 
                        [out, retval] BSTR* pbstrBlockFormat);
    };

    [
      odl,
      uuid(3050F839-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IFontNames : IDispatch {
        [propget, restricted]
        HRESULT _stdcall _newEnum([out, retval] IUnknown** p);
        [propget]
        HRESULT _stdcall Count([out, retval] long* p);
        HRESULT _stdcall item(
                        [in] VARIANT* pvarIndex, 
                        [out, retval] BSTR* pbstrFontName);
    };

    [
      odl,
      uuid(3050F3EC-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ICSSFilter : IUnknown {
        HRESULT _stdcall SetSite([in] ICSSFilterSite* pSink);
        HRESULT _stdcall OnAmbientPropertyChange([in] long dispid);
    };

    [
      odl,
      uuid(C81984C4-74C8-11D2-BAA9-00C04FC2040E)
    ]
    interface ISecureUrlHost : IUnknown {
        HRESULT _stdcall ValidateSecureUrl(
                        [out] long* pfAllow, 
                        [in] unsigned short* pchUrlInQuestion, 
                        [in] unsigned long dwFlags);
    };

    [
      odl,
      uuid(3050F4A0-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IMarkupServices : IUnknown {
        HRESULT _stdcall CreateMarkupPointer([out] IMarkupPointer** ppPointer);
        HRESULT _stdcall CreateMarkupContainer([out] IMarkupContainer** ppMarkupContainer);
        HRESULT _stdcall createElement(
                        [in] _ELEMENT_TAG_ID tagID, 
                        [in] unsigned short* pchAttributes, 
                        [out] IHTMLElement** ppElement);
        HRESULT _stdcall CloneElement(
                        [in] IHTMLElement* pElemCloneThis, 
                        [out] IHTMLElement** ppElementTheClone);
        HRESULT _stdcall InsertElement(
                        [in] IHTMLElement* pElementInsert, 
                        [in] IMarkupPointer* pPointerStart, 
                        [in] IMarkupPointer* pPointerFinish);
        HRESULT _stdcall RemoveElement([in] IHTMLElement* pElementRemove);
        HRESULT _stdcall remove(
                        [in] IMarkupPointer* pPointerStart, 
                        [in] IMarkupPointer* pPointerFinish);
        HRESULT _stdcall Copy(
                        [in] IMarkupPointer* pPointerSourceStart, 
                        [in] IMarkupPointer* pPointerSourceFinish, 
                        [in] IMarkupPointer* pPointerTarget);
        HRESULT _stdcall move(
                        [in] IMarkupPointer* pPointerSourceStart, 
                        [in] IMarkupPointer* pPointerSourceFinish, 
                        [in] IMarkupPointer* pPointerTarget);
        HRESULT _stdcall InsertText(
                        [in] unsigned short* pchText, 
                        [in] long cch, 
                        [in] IMarkupPointer* pPointerTarget);
        HRESULT _stdcall ParseString(
                        [in] unsigned short* pchHTML, 
                        [in] unsigned long dwFlags, 
                        [out] IMarkupContainer** ppContainerResult, 
                        [in] IMarkupPointer* ppPointerStart, 
                        [in] IMarkupPointer* ppPointerFinish);
        HRESULT _stdcall ParseGlobal(
                        [in] wireHGLOBAL hglobalHTML, 
                        [in] unsigned long dwFlags, 
                        [out] IMarkupContainer** ppContainerResult, 
                        [in] IMarkupPointer* pPointerStart, 
                        [in] IMarkupPointer* pPointerFinish);
        HRESULT _stdcall IsScopedElement(
                        [in] IHTMLElement* pElement, 
                        [out] long* pfScoped);
        HRESULT _stdcall GetElementTagId(
                        [in] IHTMLElement* pElement, 
                        [out] _ELEMENT_TAG_ID* ptagId);
        HRESULT _stdcall GetTagIDForName(
                        [in] BSTR bstrName, 
                        [out] _ELEMENT_TAG_ID* ptagId);
        HRESULT _stdcall GetNameForTagID(
                        [in] _ELEMENT_TAG_ID tagID, 
                        [out] BSTR* pbstrName);
        HRESULT _stdcall MovePointersToRange(
                        [in] IHTMLTxtRange* pIRange, 
                        [in] IMarkupPointer* pPointerStart, 
                        [in] IMarkupPointer* pPointerFinish);
        HRESULT _stdcall MoveRangeToPointers(
                        [in] IMarkupPointer* pPointerStart, 
                        [in] IMarkupPointer* pPointerFinish, 
                        [in] IHTMLTxtRange* pIRange);
        HRESULT _stdcall BeginUndoUnit([in] unsigned short* pchTitle);
        HRESULT _stdcall EndUndoUnit();
    };

    typedef [public]
    _userHGLOBAL* wireHGLOBAL;

    typedef struct tag_userHGLOBAL {
                
long fContext;
                
__MIDL_IWinTypes_0003 u;
    } _userHGLOBAL;

    typedef union tag__MIDL_IWinTypes_0003 {
                
long hInproc;
                
_FLAGGED_BYTE_BLOB* hRemote;
                
int64 hInproc64;
    } __MIDL_IWinTypes_0003;

    typedef struct tag_FLAGGED_BYTE_BLOB {
                
unsigned long fFlags;
                
unsigned long clSize;
                
unsigned char* abData;
    } _FLAGGED_BYTE_BLOB;

    [
      odl,
      uuid(3050F682-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IMarkupServices2 : IMarkupServices {
        HRESULT _stdcall ParseGlobalEx(
                        [in] wireHGLOBAL hglobalHTML, 
                        [in] unsigned long dwFlags, 
                        [in] IMarkupContainer* pContext, 
                        [out] IMarkupContainer** ppContainerResult, 
                        [in] IMarkupPointer* pPointerStart, 
                        [in] IMarkupPointer* pPointerFinish);
        HRESULT _stdcall ValidateElements(
                        [in] IMarkupPointer* pPointerStart, 
                        [in] IMarkupPointer* pPointerFinish, 
                        [in] IMarkupPointer* pPointerTarget, 
                        [in, out] IMarkupPointer* pPointerStatus, 
                        [out] IHTMLElement** ppElemFailBottom, 
                        [out] IHTMLElement** ppElemFailTop);
        HRESULT _stdcall SaveSegmentsToClipboard(
                        [in] ISegmentList* pSegmentList, 
                        [in] unsigned long dwFlags);
    };

    [
      odl,
      uuid(3050F6E0-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLChangePlayback : IUnknown {
        HRESULT _stdcall ExecChange(
                        [in] unsigned char* pbRecord, 
                        [in] long fForward);
    };

    [
      odl,
      uuid(3050F675-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IMarkupPointer2 : IMarkupPointer {
        HRESULT _stdcall IsAtWordBreak([out] long* pfAtBreak);
        HRESULT _stdcall GetMarkupPosition([out] long* plMP);
        HRESULT _stdcall MoveToMarkupPosition(
                        [in] IMarkupContainer* pContainer, 
                        [in] long lMP);
        HRESULT _stdcall MoveUnitBounded(
                        [in] _MOVEUNIT_ACTION muAction, 
                        [in] IMarkupPointer* pIBoundary);
        HRESULT _stdcall IsInsideURL(
                        [in] IMarkupPointer* pRight, 
                        [out] long* pfResult);
        HRESULT _stdcall MoveToContent(
                        [in] IHTMLElement* pIElement, 
                        [in] long fAtStart);
    };

    [
      odl,
      uuid(3050F5FA-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IMarkupTextFrags : IUnknown {
        HRESULT _stdcall GetTextFragCount([out] long* pcFrags);
        HRESULT _stdcall GetTextFrag(
                        [in] long iFrag, 
                        [out] BSTR* pbstrFrag, 
                        [in] IMarkupPointer* pPointerFrag);
        HRESULT _stdcall RemoveTextFrag([in] long iFrag);
        HRESULT _stdcall InsertTextFrag(
                        [in] long iFrag, 
                        [in] BSTR bstrInsert, 
                        [in] IMarkupPointer* pPointerInsert);
        HRESULT _stdcall FindTextFragFromMarkupPointer(
                        [in] IMarkupPointer* pPointerFind, 
                        [out] long* piFrag, 
                        [out] long* pfFragFound);
    };

    [
      odl,
      uuid(E4E23071-4D07-11D2-AE76-0080C73BC199)
    ]
    interface IXMLGenericParse : IUnknown {
        HRESULT _stdcall SetGenericParse([in] VARIANT_BOOL fDoGeneric);
    };

    [
      odl,
      uuid(3050F6A0-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLEditHost : IUnknown {
        HRESULT _stdcall SnapRect(
                        [in] IHTMLElement* pIElement, 
                        [in, out] tagRECT* prcNew, 
                        [in] _ELEMENT_CORNER eHandle);
    };

    [
      odl,
      uuid(3050F848-98B5-11CF-BB82-00AA00BDCE0D)
    ]
    interface IHTMLEditHost2 : IHTMLEditHost {
        HRESULT _stdcall PreDrag();
    };

    [
      odl,
      uuid(3050F6C1-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ISequenceNumber : IUnknown {
        HRESULT _stdcall GetSequenceNumber(
                        [in] long nCurrent, 
                        [out] long* pnNew);
    };

    [
      odl,
      uuid(3050F6CA-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IIMEServices : IUnknown {
        HRESULT _stdcall GetActiveIMM([out] IActiveIMMApp** ppActiveIMM);
    };

    [
      odl,
      uuid(3050F699-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ISelectionServicesListener : IUnknown {
        HRESULT _stdcall BeginSelectionUndo();
        HRESULT _stdcall EndSelectionUndo();
        HRESULT _stdcall OnSelectedElementExit(
                        [in] IMarkupPointer* pIElementStart, 
                        [in] IMarkupPointer* pIElementEnd, 
                        [in] IMarkupPointer* pIElementContentStart, 
                        [in] IMarkupPointer* pIElementContentEnd);
        HRESULT _stdcall OnChangeType(
                        [in] _SELECTION_TYPE eType, 
                        [in] ISelectionServicesListener* pIListener);
        HRESULT _stdcall GetTypeDetail([out] BSTR* pTypeDetail);
    };

    [
      odl,
      uuid(3050F684-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface ISelectionServices : IUnknown {
        HRESULT _stdcall SetSelectionType(
                        [in] _SELECTION_TYPE eType, 
                        [in] ISelectionServicesListener* pIListener);
        HRESULT _stdcall GetMarkupContainer([out] IMarkupContainer** ppIContainer);
        HRESULT _stdcall AddSegment(
                        [in] IMarkupPointer* pIStart, 
                        [in] IMarkupPointer* pIEnd, 
                        [out] ISegment** ppISegmentAdded);
        HRESULT _stdcall AddElementSegment(
                        [in] IHTMLElement* pIElement, 
                        [out] IElementSegment** ppISegmentAdded);
        HRESULT _stdcall RemoveSegment([in] ISegment* pISegment);
        HRESULT _stdcall GetSelectionServicesListener([out] ISelectionServicesListener** ppISelectionServicesListener);
    };

    [
      odl,
      uuid(3050F662-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLEditDesigner : IUnknown {
        HRESULT _stdcall PreHandleEvent(
                        [in] long inEvtDispId, 
                        [in] IHTMLEventObj* pIEventObj);
        HRESULT _stdcall PostHandleEvent(
                        [in] long inEvtDispId, 
                        [in] IHTMLEventObj* pIEventObj);
        HRESULT _stdcall TranslateAccelerator(
                        [in] long inEvtDispId, 
                        [in] IHTMLEventObj* pIEventObj);
        HRESULT _stdcall PostEditorEventNotify(
                        [in] long inEvtDispId, 
                        [in] IHTMLEventObj* pIEventObj);
    };

    [
      odl,
      uuid(3050F663-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLEditServices : IUnknown {
        HRESULT _stdcall AddDesigner([in] IHTMLEditDesigner* pIDesigner);
        HRESULT _stdcall RemoveDesigner([in] IHTMLEditDesigner* pIDesigner);
        HRESULT _stdcall GetSelectionServices(
                        [in] IMarkupContainer* pIContainer, 
                        [out] ISelectionServices** ppSelSvc);
        HRESULT _stdcall MoveToSelectionAnchor([in] IMarkupPointer* pIStartAnchor);
        HRESULT _stdcall MoveToSelectionEnd([in] IMarkupPointer* pIEndAnchor);
        HRESULT _stdcall SelectRange(
                        [in] IMarkupPointer* pStart, 
                        [in] IMarkupPointer* pEnd, 
                        [in] _SELECTION_TYPE eType);
    };

    [
      odl,
      uuid(3050F812-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLEditServices2 : IHTMLEditServices {
        HRESULT _stdcall MoveToSelectionAnchorEx([in] IDisplayPointer* pIStartAnchor);
        HRESULT _stdcall MoveToSelectionEndEx([in] IDisplayPointer* pIEndAnchor);
        HRESULT _stdcall FreezeVirtualCaretPos([in] long fReCompute);
        HRESULT _stdcall UnFreezeVirtualCaretPos([in] long fReset);
    };

    [
      uuid(3050F819-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HtmlDlgSafeHelper {
        [default] interface IHtmlDlgSafeHelper;
    };

    [
      uuid(3050F831-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass BlockFormats {
        [default] interface IBlockFormats;
    };

    [
      uuid(3050F83A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass FontNames {
        [default] interface IFontNames;
    };

    [
      uuid(3050F6BD-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface HTMLNamespaceEvents {
        properties:
        methods:
            [id(0xfffffd9f)]
            void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    };

    [
      odl,
      uuid(3050F6BB-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLNamespace : IDispatch {
        [id(0x000003e8), propget, bindable]
        HRESULT name([out, retval] BSTR* p);
        [id(0x000003e9), propget, bindable]
        HRESULT urn([out, retval] BSTR* p);
        [id(0x000003ea), propget, bindable]
        HRESULT tagNames([out, retval] IDispatch** p);
        [id(0x800113fc), propget, bindable]
        HRESULT readyState([out, retval] VARIANT* p);
        [id(0x80011789), propput, bindable, displaybind]
        HRESULT onreadystatechange([in] VARIANT p);
        [id(0x80011789), propget, bindable, displaybind]
        HRESULT onreadystatechange([out, retval] VARIANT* p);
        [id(0x000003eb)]
        HRESULT doImport([in] BSTR bstrImplementationUrl);
        [id(0x800101fb)]
        HRESULT attachEvent(
                        [in] BSTR event, 
                        [in] IDispatch* pdisp, 
                        [out, retval] VARIANT_BOOL* pfResult);
        [id(0x800101fc)]
        HRESULT detachEvent(
                        [in] BSTR event, 
                        [in] IDispatch* pdisp);
    };

    [
      odl,
      uuid(3050F6B8-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLNamespaceCollection : IDispatch {
        [id(0x000003e8), propget]
        HRESULT length([out, retval] long* p);
        [id(00000000)]
        HRESULT item(
                        [in] VARIANT index, 
                        [out, retval] IDispatch** ppNamespace);
        [id(0x000003e9)]
        HRESULT add(
                        [in] BSTR bstrNamespace, 
                        [in] BSTR bstrUrn, 
                        [in, optional] VARIANT implementationUrl, 
                        [out, retval] IDispatch** ppNamespace);
    };

    [
      uuid(3050F6BC-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLNamespace {
        [default] interface IHTMLNamespace;
        [default, source] dispinterface HTMLNamespaceEvents;
    };

    [
      uuid(3050F6B9-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLNamespaceCollection {
        [default] interface IHTMLNamespaceCollection;
    };

    typedef enum {
        HTMLPAINTER_OPAQUE = 1,
        HTMLPAINTER_TRANSPARENT = 2,
        HTMLPAINTER_ALPHA = 4,
        HTMLPAINTER_COMPLEX = 8,
        HTMLPAINTER_OVERLAY = 16,
        HTMLPAINTER_HITTEST = 32,
        HTMLPAINTER_SURFACE = 256,
        HTMLPAINTER_3DSURFACE = 512,
        HTMLPAINTER_NOBAND = 1024,
        HTMLPAINTER_NODC = 4096,
        HTMLPAINTER_NOPHYSICALCLIP = 8192,
        HTMLPAINTER_NOSAVEDC = 16384,
        HTMLPAINTER_SUPPORTS_XFORM = 32768,
        HTMLPAINTER_EXPAND = 0x00010000,
        HTMLPAINTER_NOSCROLLBITS = 0x00020000,
        HTML_PAINTER_Max = 0x7fffffff
    } _HTML_PAINTER;

    typedef enum {
        HTMLPAINT_ZORDER_NONE = 0,
        HTMLPAINT_ZORDER_REPLACE_ALL = 1,
        HTMLPAINT_ZORDER_REPLACE_CONTENT = 2,
        HTMLPAINT_ZORDER_REPLACE_BACKGROUND = 3,
        HTMLPAINT_ZORDER_BELOW_CONTENT = 4,
        HTMLPAINT_ZORDER_BELOW_FLOW = 5,
        HTMLPAINT_ZORDER_ABOVE_FLOW = 6,
        HTMLPAINT_ZORDER_ABOVE_CONTENT = 7,
        HTMLPAINT_ZORDER_WINDOW_TOP = 8,
        HTML_PAINT_ZORDER_Max = 0x7fffffff
    } _HTML_PAINT_ZORDER;

    typedef enum {
        HTMLPAINT_DRAW_UPDATEREGION = 1,
        HTMLPAINT_DRAW_USE_XFORM = 2,
        HTML_PAINT_DRAW_FLAGS_Max = 0x7fffffff
    } _HTML_PAINT_DRAW_FLAGS;

    typedef enum {
        HTMLPAINT_EVENT_TARGET = 1,
        HTMLPAINT_EVENT_SETCURSOR = 2,
        HTML_PAINT_EVENT_FLAGS_Max = 0x7fffffff
    } _HTML_PAINT_EVENT_FLAGS;

    typedef enum {
        HTMLPAINT_DRAWINFO_VIEWPORT = 1,
        HTMLPAINT_DRAWINFO_UPDATEREGION = 2,
        HTMLPAINT_DRAWINFO_XFORM = 4,
        HTML_PAINT_DRAW_INFO_FLAGS_Max = 0x7fffffff
    } _HTML_PAINT_DRAW_INFO_FLAGS;

    typedef struct tag_HTML_PAINTER_INFO {
                
long lFlags;
                
long lZOrder;
                
GUID iidDrawObject;
                
tagRECT rcExpand;
    } _HTML_PAINTER_INFO;

    typedef struct tag_HTML_PAINT_XFORM {
                
single eM11;
                
single eM12;
                
single eM21;
                
single eM22;
                
single eDx;
                
single eDy;
    } _HTML_PAINT_XFORM;

    typedef struct tag_HTML_PAINT_DRAW_INFO {
                
tagRECT rcViewport;
                
void* hrgnUpdate;
                
_HTML_PAINT_XFORM xform;
    } _HTML_PAINT_DRAW_INFO;

    [
      odl,
      uuid(3050F6A6-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLPainter : IUnknown {
        HRESULT _stdcall Draw(
                        [in] tagRECT rcBounds, 
                        [in] tagRECT rcUpdate, 
                        [in] long lDrawFlags, 
                        [in] wireHDC hdc, 
                        [in] void* pvDrawObject);
        HRESULT _stdcall onresize([in] tagSIZE size);
        HRESULT _stdcall GetPainterInfo([out] _HTML_PAINTER_INFO* pInfo);
        HRESULT _stdcall HitTestPoint(
                        [in] tagPOINT pt, 
                        [out] long* pbHit, 
                        [out] long* plPartID);
    };

    typedef struct tagtagSIZE {
                
long cx;
                
long cy;
    } tagSIZE;

    [
      odl,
      uuid(3050F6A7-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLPaintSite : IUnknown {
        HRESULT _stdcall InvalidatePainterInfo();
        HRESULT _stdcall InvalidateRect([in] tagRECT* prcInvalid);
        HRESULT _stdcall InvalidateRegion([in] void* rgnInvalid);
        HRESULT _stdcall GetDrawInfo(
                        [in] long lFlags, 
                        [out] _HTML_PAINT_DRAW_INFO* pDrawInfo);
        HRESULT _stdcall TransformGlobalToLocal(
                        [in] tagPOINT ptGlobal, 
                        [out] tagPOINT* pptLocal);
        HRESULT _stdcall TransformLocalToGlobal(
                        [in] tagPOINT ptLocal, 
                        [out] tagPOINT* pptGlobal);
        HRESULT _stdcall GetHitTestCookie([out] long* plCookie);
    };

    [
      odl,
      uuid(3050F6DF-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLPainterEventInfo : IUnknown {
        HRESULT _stdcall GetEventInfoFlags([out] long* plEventInfoFlags);
        HRESULT _stdcall GetEventTarget([in] IHTMLElement** ppElement);
        HRESULT _stdcall SetCursor([in] long lPartID);
        HRESULT _stdcall StringFromPartID(
                        [in] long lPartID, 
                        [out] BSTR* pbstrPart);
    };

    [
      odl,
      uuid(3050F7E3-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHTMLPainterOverlay : IUnknown {
        HRESULT _stdcall onmove([in] tagRECT rcDevice);
    };

    [
      odl,
      uuid(3050F6B5-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLIPrintCollection : IDispatch {
        [id(0x000005dd), propget, hidden]
        HRESULT length([out, retval] long* p);
        [id(0xfffffffc), propget, restricted, hidden]
        HRESULT _newEnum([out, retval] IUnknown** p);
        [id(00000000)]
        HRESULT item(
                        [in] long index, 
                        [out, retval] IUnknown** ppIPrint);
    };

    [
      odl,
      uuid(3050F844-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IEnumPrivacyRecords : IUnknown {
        HRESULT _stdcall reset();
        HRESULT _stdcall GetSize([out] unsigned long* pSize);
        HRESULT _stdcall GetPrivacyImpacted([out] long* pState);
        HRESULT _stdcall Next(
                        [out] BSTR* pbstrUrl, 
                        [out] BSTR* pbstrPolicyRef, 
                        [out] long* pdwReserved, 
                        [out] unsigned long* pdwPrivacyFlags);
    };

    typedef enum {
        HTMLDlgFlagNo = 0,
        HTMLDlgFlagOff = 0,
        HTMLDlgFlag0 = 0,
        HTMLDlgFlagYes = 1,
        HTMLDlgFlagOn = 1,
        HTMLDlgFlag1 = 1,
        HTMLDlgFlagNotSet = 0xffffffff,
        HTMLDlgFlag_Max = 0x7fffffff
    } _HTMLDlgFlag;

    typedef enum {
        HTMLDlgBorderThin = 0,
        HTMLDlgBorderThick = 0x00040000,
        HTMLDlgBorder_Max = 0x7fffffff
    } _HTMLDlgBorder;

    typedef enum {
        HTMLDlgEdgeSunken = 0,
        HTMLDlgEdgeRaised = 16,
        HTMLDlgEdge_Max = 0x7fffffff
    } _HTMLDlgEdge;

    typedef enum {
        HTMLDlgCenterNo = 0,
        HTMLDlgCenterOff = 0,
        HTMLDlgCenter0 = 0,
        HTMLDlgCenterYes = 1,
        HTMLDlgCenterOn = 1,
        HTMLDlgCenter1 = 1,
        HTMLDlgCenterParent = 1,
        HTMLDlgCenterDesktop = 2,
        HTMLDlgCenter_Max = 0x7fffffff
    } _HTMLDlgCenter;

    [
      odl,
      uuid(3050F216-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDialog : IDispatch {
        [id(0x80010004), propput, bindable]
        HRESULT dialogTop([in] VARIANT p);
        [id(0x80010004), propget, bindable]
        HRESULT dialogTop([out, retval] VARIANT* p);
        [id(0x80010003), propput, bindable]
        HRESULT dialogLeft([in] VARIANT p);
        [id(0x80010003), propget, bindable]
        HRESULT dialogLeft([out, retval] VARIANT* p);
        [id(0x80010005), propput, bindable]
        HRESULT dialogWidth([in] VARIANT p);
        [id(0x80010005), propget, bindable]
        HRESULT dialogWidth([out, retval] VARIANT* p);
        [id(0x80010006), propput, bindable]
        HRESULT dialogHeight([in] VARIANT p);
        [id(0x80010006), propget, bindable]
        HRESULT dialogHeight([out, retval] VARIANT* p);
        [id(0x000061a8), propget]
        HRESULT dialogArguments([out, retval] VARIANT* p);
        [id(0x000061b5), propget]
        HRESULT menuArguments([out, retval] VARIANT* p);
        [id(0x000061a9), propput]
        HRESULT returnValue([in] VARIANT p);
        [id(0x000061a9), propget]
        HRESULT returnValue([out, retval] VARIANT* p);
        [id(0x000061b3)]
        HRESULT close();
        [id(0x000061b4)]
        HRESULT toString([out, retval] BSTR* String);
    };

    [
      odl,
      uuid(3050F5E0-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDialog2 : IDispatch {
        [id(0x000061b6), propput, hidden]
        HRESULT status([in] BSTR p);
        [id(0x000061b6), propget, hidden]
        HRESULT status([out, retval] BSTR* p);
        [id(0x000061b7), propput, hidden]
        HRESULT resizable([in] BSTR p);
        [id(0x000061b7), propget, hidden]
        HRESULT resizable([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F388-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLDialog3 : IDispatch {
        [id(0x000061b8), propput, hidden]
        HRESULT unadorned([in] BSTR p);
        [id(0x000061b8), propget, hidden]
        HRESULT unadorned([out, retval] BSTR* p);
        [id(0x000061af), propput]
        HRESULT dialogHide([in] BSTR p);
        [id(0x000061af), propget]
        HRESULT dialogHide([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F5E4-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLModelessInit : IDispatch {
        [id(0x000061a8), propget]
        HRESULT parameters([out, retval] VARIANT* p);
        [id(0x000061a9), propget]
        HRESULT optionString([out, retval] VARIANT* p);
        [id(0x000061ae), propget]
        HRESULT moniker([out, retval] IUnknown** p);
        [id(0x000061af), propget]
        HRESULT document([out, retval] IUnknown** p);
    };

    [
      uuid(3050F5EB-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass ThreadDialogProcParam {
        [default] interface IHTMLModelessInit;
    };

    [
      uuid(3050F28A-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLDialog {
        [default] interface IHTMLDialog;
    };

    [
      odl,
      uuid(3050F666-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLPopup : IDispatch {
        [id(0x00006979)]
        HRESULT Show(
                        [in] long x, 
                        [in] long y, 
                        [in] long w, 
                        [in] long h, 
                        [in] VARIANT* pElement);
        [id(0x0000697a)]
        HRESULT Hide();
        [id(0x0000697b), propget]
        HRESULT document([out, retval] IHTMLDocument** p);
        [id(0x0000697c), propget]
        HRESULT isOpen([out, retval] VARIANT_BOOL* p);
    };

    [
      uuid(3050F589-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLPopup {
        properties:
        methods:
            [id(0x00006979)]
            void Show(
                            [in] long x, 
                            [in] long y, 
                            [in] long w, 
                            [in] long h, 
                            [in] VARIANT* pElement);
            [id(0x0000697a)]
            void Hide();
            [id(0x0000697b), propget]
            IHTMLDocument* document();
            [id(0x0000697c), propget]
            VARIANT_BOOL isOpen();
    };

    [
      uuid(3050F667-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLPopup {
        [default] dispinterface DispHTMLPopup;
        interface IHTMLPopup;
    };

    typedef enum {
        HTMLAppFlagNo = 0,
        HTMLAppFlagOff = 0,
        HTMLAppFlag0 = 0,
        HTMLAppFlagYes = 1,
        HTMLAppFlagOn = 1,
        HTMLAppFlag1 = 1,
        HTMLAppFlag_Max = 0x7fffffff
    } _HTMLAppFlag;

    typedef enum {
        HTMLMinimizeFlagNo = 0,
        HTMLMinimizeFlagYes = 0x00020000,
        HTMLMinimizeFlag_Max = 0x7fffffff
    } _HTMLMinimizeFlag;

    typedef enum {
        HTMLMaximizeFlagNo = 0,
        HTMLMaximizeFlagYes = 0x00010000,
        HTMLMaximizeFlag_Max = 0x7fffffff
    } _HTMLMaximizeFlag;

    typedef enum {
        HTMLCaptionFlagNo = 0,
        HTMLCaptionFlagYes = 0x00c00000,
        HTMLCaptionFlag_Max = 0x7fffffff
    } _HTMLCaptionFlag;

    typedef enum {
        HTMLSysMenuFlagNo = 0,
        HTMLSysMenuFlagYes = 0x00080000,
        HTMLSysMenuFlag_Max = 0x7fffffff
    } _HTMLSysMenuFlag;

    typedef enum {
        HTMLBorderNone = 0,
        HTMLBorderThick = 0x00040000,
        HTMLBorderDialog = 0x00400000,
        HTMLBorderThin = 0x00800000,
        HTMLBorder_Max = 0x7fffffff
    } _HTMLBorder;

    typedef enum {
        HTMLBorderStyleNormal = 0,
        HTMLBorderStyleRaised = 256,
        HTMLBorderStyleSunken = 512,
        HTMLBorderStylecombined = 768,
        HTMLBorderStyleStatic = 0x00020000,
        HTMLBorderStyle_Max = 0x7fffffff
    } _HTMLBorderStyle;

    typedef enum {
        HTMLWindowStateNormal = 1,
        HTMLWindowStateMaximize = 3,
        HTMLWindowStateMinimize = 6,
        HTMLWindowState_Max = 0x7fffffff
    } _HTMLWindowState;

    [
      odl,
      uuid(3050F5CA-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAppBehavior : IDispatch {
        [id(0x00001388), propput]
        HRESULT applicationName([in] BSTR p);
        [id(0x00001388), propget]
        HRESULT applicationName([out, retval] BSTR* p);
        [id(0x00001389), propput]
        HRESULT version([in] BSTR p);
        [id(0x00001389), propget]
        HRESULT version([out, retval] BSTR* p);
        [id(0x0000138a), propput]
        HRESULT icon([in] BSTR p);
        [id(0x0000138a), propget]
        HRESULT icon([out, retval] BSTR* p);
        [id(0x0000138b), propput]
        HRESULT singleInstance([in] BSTR p);
        [id(0x0000138b), propget]
        HRESULT singleInstance([out, retval] BSTR* p);
        [id(0x0000138d), propput]
        HRESULT minimizeButton([in] BSTR p);
        [id(0x0000138d), propget]
        HRESULT minimizeButton([out, retval] BSTR* p);
        [id(0x0000138e), propput]
        HRESULT maximizeButton([in] BSTR p);
        [id(0x0000138e), propget]
        HRESULT maximizeButton([out, retval] BSTR* p);
        [id(0x0000138f), propput]
        HRESULT border([in] BSTR p);
        [id(0x0000138f), propget]
        HRESULT border([out, retval] BSTR* p);
        [id(0x00001390), propput]
        HRESULT borderStyle([in] BSTR p);
        [id(0x00001390), propget]
        HRESULT borderStyle([out, retval] BSTR* p);
        [id(0x00001391), propput]
        HRESULT sysMenu([in] BSTR p);
        [id(0x00001391), propget]
        HRESULT sysMenu([out, retval] BSTR* p);
        [id(0x00001392), propput]
        HRESULT caption([in] BSTR p);
        [id(0x00001392), propget]
        HRESULT caption([out, retval] BSTR* p);
        [id(0x00001393), propput]
        HRESULT windowState([in] BSTR p);
        [id(0x00001393), propget]
        HRESULT windowState([out, retval] BSTR* p);
        [id(0x00001394), propput]
        HRESULT showInTaskBar([in] BSTR p);
        [id(0x00001394), propget]
        HRESULT showInTaskBar([out, retval] BSTR* p);
        [id(0x00001395), propget]
        HRESULT commandLine([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F5C9-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAppBehavior2 : IDispatch {
        [id(0x00001396), propput]
        HRESULT contextMenu([in] BSTR p);
        [id(0x00001396), propget]
        HRESULT contextMenu([out, retval] BSTR* p);
        [id(0x00001397), propput]
        HRESULT innerBorder([in] BSTR p);
        [id(0x00001397), propget]
        HRESULT innerBorder([out, retval] BSTR* p);
        [id(0x00001398), propput]
        HRESULT scroll([in] BSTR p);
        [id(0x00001398), propget]
        HRESULT scroll([out, retval] BSTR* p);
        [id(0x00001399), propput]
        HRESULT scrollFlat([in] BSTR p);
        [id(0x00001399), propget]
        HRESULT scrollFlat([out, retval] BSTR* p);
        [id(0x0000139a), propput]
        HRESULT selection([in] BSTR p);
        [id(0x0000139a), propget]
        HRESULT selection([out, retval] BSTR* p);
    };

    [
      odl,
      uuid(3050F5CD-98B5-11CF-BB82-00AA00BDCE0B),
      dual,
      oleautomation
    ]
    interface IHTMLAppBehavior3 : IDispatch {
        [id(0x0000139b), propput]
        HRESULT navigable([in] BSTR p);
        [id(0x0000139b), propget]
        HRESULT navigable([out, retval] BSTR* p);
    };

    [
      uuid(3050F57C-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispHTMLAppBehavior {
        properties:
        methods:
            [id(0x00001388), propput]
            void applicationName(BSTR rhs);
            [id(0x00001388), propget]
            BSTR applicationName();
            [id(0x00001389), propput]
            void version(BSTR rhs);
            [id(0x00001389), propget]
            BSTR version();
            [id(0x0000138a), propput]
            void icon(BSTR rhs);
            [id(0x0000138a), propget]
            BSTR icon();
            [id(0x0000138b), propput]
            void singleInstance(BSTR rhs);
            [id(0x0000138b), propget]
            BSTR singleInstance();
            [id(0x0000138d), propput]
            void minimizeButton(BSTR rhs);
            [id(0x0000138d), propget]
            BSTR minimizeButton();
            [id(0x0000138e), propput]
            void maximizeButton(BSTR rhs);
            [id(0x0000138e), propget]
            BSTR maximizeButton();
            [id(0x0000138f), propput]
            void border(BSTR rhs);
            [id(0x0000138f), propget]
            BSTR border();
            [id(0x00001390), propput]
            void borderStyle(BSTR rhs);
            [id(0x00001390), propget]
            BSTR borderStyle();
            [id(0x00001391), propput]
            void sysMenu(BSTR rhs);
            [id(0x00001391), propget]
            BSTR sysMenu();
            [id(0x00001392), propput]
            void caption(BSTR rhs);
            [id(0x00001392), propget]
            BSTR caption();
            [id(0x00001393), propput]
            void windowState(BSTR rhs);
            [id(0x00001393), propget]
            BSTR windowState();
            [id(0x00001394), propput]
            void showInTaskBar(BSTR rhs);
            [id(0x00001394), propget]
            BSTR showInTaskBar();
            [id(0x00001395), propget]
            BSTR commandLine();
            [id(0x00001396), propput]
            void contextMenu(BSTR rhs);
            [id(0x00001396), propget]
            BSTR contextMenu();
            [id(0x00001397), propput]
            void innerBorder(BSTR rhs);
            [id(0x00001397), propget]
            BSTR innerBorder();
            [id(0x00001398), propput]
            void scroll(BSTR rhs);
            [id(0x00001398), propget]
            BSTR scroll();
            [id(0x00001399), propput]
            void scrollFlat(BSTR rhs);
            [id(0x00001399), propget]
            BSTR scrollFlat();
            [id(0x0000139a), propput]
            void selection(BSTR rhs);
            [id(0x0000139a), propget]
            BSTR selection();
    };

    [
      uuid(3050F5CB-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLAppBehavior {
        [default] dispinterface DispHTMLAppBehavior;
        interface IHTMLAppBehavior;
        interface IHTMLAppBehavior2;
    };

    [
      uuid(D48A6EC9-6A4A-11CF-94A7-444553540000)
    ]
    coclass OldHTMLDocument {
        [default] dispinterface DispHTMLDocument;
        [default, source] dispinterface HTMLDocumentEvents;
        interface IHTMLDocument2;
        interface IHTMLDocument3;
    };

    [
      uuid(0D04D285-6BEC-11CF-8B97-00AA00476DA6)
    ]
    coclass OldHTMLFormElement {
        [default] dispinterface DispHTMLFormElement;
        [default, source] dispinterface HTMLFormElementEvents;
        interface IHTMLFormElement;
        interface IHTMLElement;
        interface IHTMLElement2;
    };

    [
      uuid(3050F51E-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispIHTMLInputButtonElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x800113ed), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x800113ed), propget, bindable, displaybind]
            BSTR value();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000007e5), propput]
            void status(VARIANT rhs);
            [id(0x000007e5), propget]
            VARIANT status();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x000007d6)]
            IHTMLTxtRange* createTextRange();
    };

    [
      uuid(3050F2B4-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLInputButtonElement {
        [default] dispinterface DispIHTMLInputButtonElement;
        [default, source] dispinterface HTMLButtonElementEvents;
        interface IHTMLInputButtonElement;
        interface IHTMLControlElement;
        interface IHTMLElement;
    };

    [
      uuid(3050F520-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispIHTMLInputTextElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x800113ed), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x800113ed), propget, bindable, displaybind]
            BSTR value();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000007e5), propput]
            void status(VARIANT rhs);
            [id(0x000007e5), propget]
            VARIANT status();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x800113db), propput, bindable, displaybind, hidden]
            void defaultValue(BSTR rhs);
            [id(0x800113db), propget, bindable, displaybind, hidden]
            BSTR defaultValue();
            [id(0x000007d2), propput, bindable, displaybind]
            void size(long rhs);
            [id(0x000007d2), propget, bindable, displaybind]
            long size();
            [id(0x000007d3), propput, bindable, displaybind]
            void maxLength(long rhs);
            [id(0x000007d3), propget, bindable, displaybind]
            long maxLength();
            [id(0x000007d4)]
            void select();
            [id(0x8001178e), propput, bindable, displaybind]
            void onchange(VARIANT rhs);
            [id(0x8001178e), propget, bindable, displaybind]
            VARIANT onchange();
            [id(0x8001177a), propput, bindable, displaybind]
            void onselect(VARIANT rhs);
            [id(0x8001177a), propget, bindable, displaybind]
            VARIANT onselect();
            [id(0x000007d5), propput, bindable, displaybind]
            void readOnly(VARIANT_BOOL rhs);
            [id(0x000007d5), propget, bindable, displaybind]
            VARIANT_BOOL readOnly();
            [id(0x000007d6)]
            IHTMLTxtRange* createTextRange();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
    };

    [
      uuid(3050F2AB-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLInputTextElement {
        [default] dispinterface DispIHTMLInputTextElement;
        [default, source] dispinterface HTMLInputTextElementEvents;
        interface IHTMLInputTextElement;
        interface IHTMLControlElement;
        interface IHTMLElement;
        interface IHTMLDatabinding;
    };

    [
      uuid(3050F542-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispIHTMLInputFileElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x000007e5), propput]
            void status(VARIANT rhs);
            [id(0x000007e5), propget]
            VARIANT status();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x000007d2), propput, bindable, displaybind]
            void size(long rhs);
            [id(0x000007d2), propget, bindable, displaybind]
            long size();
            [id(0x000007d3), propput, bindable, displaybind]
            void maxLength(long rhs);
            [id(0x000007d3), propget, bindable, displaybind]
            long maxLength();
            [id(0x000007d4)]
            void select();
            [id(0x8001178e), propput, bindable, displaybind]
            void onchange(VARIANT rhs);
            [id(0x8001178e), propget, bindable, displaybind]
            VARIANT onchange();
            [id(0x8001177a), propput, bindable, displaybind]
            void onselect(VARIANT rhs);
            [id(0x8001177a), propget, bindable, displaybind]
            VARIANT onselect();
            [id(0x800113ed), propput, bindable, displaybind]
            void value(BSTR rhs);
            [id(0x800113ed), propget, bindable, displaybind]
            BSTR value();
    };

    [
      uuid(3050F2AE-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLInputFileElement {
        [default] dispinterface DispIHTMLInputFileElement;
        [default, source] dispinterface HTMLInputFileElementEvents;
        interface IHTMLInputFileElement;
        interface IHTMLControlElement;
        interface IHTMLElement;
    };

    [
      uuid(3050F509-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispIHTMLOptionButtonElement {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x800113ed), propput, bindable]
            void value(BSTR rhs);
            [id(0x800113ed), propget, bindable]
            BSTR value();
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x80010000), propput, bindable]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable]
            BSTR name();
            [id(0x000007d9), propput, bindable]
            void checked(VARIANT_BOOL rhs);
            [id(0x000007d9), propget, bindable]
            VARIANT_BOOL checked();
            [id(0x000007d8), propput, bindable]
            void defaultChecked(VARIANT_BOOL rhs);
            [id(0x000007d8), propget, bindable]
            VARIANT_BOOL defaultChecked();
            [id(0x8001178e), propput, bindable]
            void onchange(VARIANT rhs);
            [id(0x8001178e), propget, bindable]
            VARIANT onchange();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x000007d1), propput]
            void status(VARIANT_BOOL rhs);
            [id(0x000007d1), propget]
            VARIANT_BOOL status();
            [id(0x000007d7), propput, bindable]
            void indeterminate(VARIANT_BOOL rhs);
            [id(0x000007d7), propget, bindable]
            VARIANT_BOOL indeterminate();
            [id(0x800107d4), propget]
            IHTMLFormElement* form();
            [id(0x800103fd), propput]
            void dataFld(BSTR rhs);
            [id(0x800103fd), propget]
            BSTR dataFld();
            [id(0x800103fe), propput]
            void dataSrc(BSTR rhs);
            [id(0x800103fe), propget]
            BSTR dataSrc();
            [id(0x800103ff), propput]
            void dataFormatAs(BSTR rhs);
            [id(0x800103ff), propget]
            BSTR dataFormatAs();
    };

    [
      uuid(3050F2BE-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass HTMLOptionButtonElement {
        [default] dispinterface DispIHTMLOptionButtonElement;
        [default, source] dispinterface HTMLOptionButtonElementEvents;
        interface IHTMLOptionButtonElement;
        interface IHTMLControlElement;
        interface IHTMLElement;
        interface IHTMLDatabinding;
    };

    [
      uuid(3050F51D-98B5-11CF-BB82-00AA00BDCE0B),
      hidden
    ]
    dispinterface DispIHTMLInputImage {
        properties:
        methods:
            [id(0x800101f5)]
            void setAttribute(
                            [in] BSTR strAttributeName, 
                            [in] VARIANT AttributeValue, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800101f6)]
            VARIANT getAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(0)] long lFlags);
            [id(0x800101f7)]
            VARIANT_BOOL removeAttribute(
                            [in] BSTR strAttributeName, 
                            [in, optional, defaultvalue(1)] long lFlags);
            [id(0x800103e9), propput, bindable]
            void className(BSTR rhs);
            [id(0x800103e9), propget, bindable]
            BSTR className();
            [id(0x800103ea), propput, bindable]
            void id(BSTR rhs);
            [id(0x800103ea), propget, bindable]
            BSTR id();
            [id(0x800103ec), propget]
            BSTR tagName();
            [id(0x80010008), propget]
            IHTMLElement* parentElement();
            [id(0x8001004a), propget]
            IHTMLStyle* style();
            [id(0x8001177d), propput, bindable, displaybind]
            void onhelp(VARIANT rhs);
            [id(0x8001177d), propget, bindable, displaybind]
            VARIANT onhelp();
            [id(0x80011778), propput, bindable, displaybind]
            void onclick(VARIANT rhs);
            [id(0x80011778), propget, bindable, displaybind]
            VARIANT onclick();
            [id(0x80011779), propput, bindable, displaybind]
            void ondblclick(VARIANT rhs);
            [id(0x80011779), propget, bindable, displaybind]
            VARIANT ondblclick();
            [id(0x80011775), propput, bindable, displaybind]
            void onkeydown(VARIANT rhs);
            [id(0x80011775), propget, bindable, displaybind]
            VARIANT onkeydown();
            [id(0x80011776), propput, bindable, displaybind]
            void onkeyup(VARIANT rhs);
            [id(0x80011776), propget, bindable, displaybind]
            VARIANT onkeyup();
            [id(0x80011777), propput, bindable, displaybind]
            void onkeypress(VARIANT rhs);
            [id(0x80011777), propget, bindable, displaybind]
            VARIANT onkeypress();
            [id(0x80011771), propput, bindable, displaybind]
            void onmouseout(VARIANT rhs);
            [id(0x80011771), propget, bindable, displaybind]
            VARIANT onmouseout();
            [id(0x80011770), propput, bindable, displaybind]
            void onmouseover(VARIANT rhs);
            [id(0x80011770), propget, bindable, displaybind]
            VARIANT onmouseover();
            [id(0x80011774), propput, bindable, displaybind]
            void onmousemove(VARIANT rhs);
            [id(0x80011774), propget, bindable, displaybind]
            VARIANT onmousemove();
            [id(0x80011772), propput, bindable, displaybind]
            void onmousedown(VARIANT rhs);
            [id(0x80011772), propget, bindable, displaybind]
            VARIANT onmousedown();
            [id(0x80011773), propput, bindable, displaybind]
            void onmouseup(VARIANT rhs);
            [id(0x80011773), propget, bindable, displaybind]
            VARIANT onmouseup();
            [id(0x800103fa), propget]
            IDispatch* document();
            [id(0x80010045), propput, bindable, displaybind]
            void title(BSTR rhs);
            [id(0x80010045), propget, bindable, displaybind]
            BSTR title();
            [id(0x800113ec), propput, bindable, displaybind]
            void language(BSTR rhs);
            [id(0x800113ec), propget, bindable, displaybind]
            BSTR language();
            [id(0x80011795), propput, bindable, displaybind]
            void onselectstart(VARIANT rhs);
            [id(0x80011795), propget, bindable, displaybind]
            VARIANT onselectstart();
            [id(0x800103fb)]
            void scrollIntoView([in, optional] VARIANT varargStart);
            [id(0x800103fc)]
            VARIANT_BOOL contains([in] IHTMLElement* pChild);
            [id(0x80010400), propget, bindable]
            long sourceIndex();
            [id(0x80010401), propget]
            VARIANT recordNumber();
            [id(0x80011391), propput]
            void lang(BSTR rhs);
            [id(0x80011391), propget]
            BSTR lang();
            [id(0x800103f0), propget]
            long offsetLeft();
            [id(0x800103f1), propget]
            long offsetTop();
            [id(0x800103f2), propget]
            long offsetWidth();
            [id(0x800103f3), propget]
            long offsetHeight();
            [id(0x800103f4), propget]
            IHTMLElement* offsetParent();
            [id(0x80010402), propput]
            void innerHTML(BSTR rhs);
            [id(0x80010402), propget]
            BSTR innerHTML();
            [id(0x80010403), propput]
            void innerText(BSTR rhs);
            [id(0x80010403), propget]
            BSTR innerText();
            [id(0x80010404), propput]
            void outerHTML(BSTR rhs);
            [id(0x80010404), propget]
            BSTR outerHTML();
            [id(0x80010405), propput]
            void outerText(BSTR rhs);
            [id(0x80010405), propget]
            BSTR outerText();
            [id(0x80010406)]
            void insertAdjacentHTML(
                            [in] BSTR where, 
                            [in] BSTR html);
            [id(0x80010407)]
            void insertAdjacentText(
                            [in] BSTR where, 
                            [in] BSTR text);
            [id(0x80010408), propget]
            IHTMLElement* parentTextEdit();
            [id(0x8001040a), propget]
            VARIANT_BOOL isTextEdit();
            [id(0x80010409)]
            void click();
            [id(0x8001040b), propget]
            IHTMLFiltersCollection* filters();
            [id(0x80011793), propput, bindable, displaybind]
            void ondragstart(VARIANT rhs);
            [id(0x80011793), propget, bindable, displaybind]
            VARIANT ondragstart();
            [id(0x8001040c)]
            BSTR toString();
            [id(0x80011785), propput, bindable, displaybind]
            void onbeforeupdate(VARIANT rhs);
            [id(0x80011785), propget, bindable, displaybind]
            VARIANT onbeforeupdate();
            [id(0x80011786), propput, bindable, displaybind]
            void onafterupdate(VARIANT rhs);
            [id(0x80011786), propget, bindable, displaybind]
            VARIANT onafterupdate();
            [id(0x80011796), propput, bindable, displaybind]
            void onerrorupdate(VARIANT rhs);
            [id(0x80011796), propget, bindable, displaybind]
            VARIANT onerrorupdate();
            [id(0x80011782), propput, bindable, displaybind]
            void onrowexit(VARIANT rhs);
            [id(0x80011782), propget, bindable, displaybind]
            VARIANT onrowexit();
            [id(0x80011783), propput, bindable, displaybind]
            void onrowenter(VARIANT rhs);
            [id(0x80011783), propget, bindable, displaybind]
            VARIANT onrowenter();
            [id(0x80011798), propput, bindable, displaybind]
            void ondatasetchanged(VARIANT rhs);
            [id(0x80011798), propget, bindable, displaybind]
            VARIANT ondatasetchanged();
            [id(0x80011799), propput, bindable, displaybind]
            void ondataavailable(VARIANT rhs);
            [id(0x80011799), propget, bindable, displaybind]
            VARIANT ondataavailable();
            [id(0x8001179a), propput, bindable, displaybind]
            void ondatasetcomplete(VARIANT rhs);
            [id(0x8001179a), propget, bindable, displaybind]
            VARIANT ondatasetcomplete();
            [id(0x8001179b), propput, bindable, displaybind]
            void onfilterchange(VARIANT rhs);
            [id(0x8001179b), propget, bindable, displaybind]
            VARIANT onfilterchange();
            [id(0x8001040d), propget]
            IDispatch* children();
            [id(0x8001040e), propget]
            IDispatch* all();
            [id(0x8001000f), propput, bindable, displaybind]
            void tabIndex(short rhs);
            [id(0x8001000f), propget, bindable, displaybind]
            short tabIndex();
            [id(0x800107d0)]
            void focus();
            [id(0x800107d5), propput, bindable, displaybind]
            void accessKey(BSTR rhs);
            [id(0x800107d5), propget, bindable, displaybind]
            BSTR accessKey();
            [id(0x8001177f), propput, bindable, displaybind]
            void onblur(VARIANT rhs);
            [id(0x8001177f), propget, bindable, displaybind]
            VARIANT onblur();
            [id(0x8001177e), propput, bindable, displaybind]
            void onfocus(VARIANT rhs);
            [id(0x8001177e), propget, bindable, displaybind]
            VARIANT onfocus();
            [id(0x80011794), propput, bindable, displaybind]
            void onresize(VARIANT rhs);
            [id(0x80011794), propget, bindable, displaybind]
            VARIANT onresize();
            [id(0x800107d2)]
            void blur();
            [id(0x800107e1)]
            void addFilter([in] IUnknown* pUnk);
            [id(0x800107e2)]
            void removeFilter([in] IUnknown* pUnk);
            [id(0x800107e3), propget, bindable, displaybind]
            long clientHeight();
            [id(0x800107e4), propget, bindable, displaybind]
            long clientWidth();
            [id(0x800107e5), propget, bindable, displaybind]
            long clientTop();
            [id(0x800107e6), propget, bindable, displaybind]
            long clientLeft();
            [id(0x000007d0), propget]
            BSTR type();
            [id(0x8001004c), propput, bindable, displaybind]
            void disabled(VARIANT_BOOL rhs);
            [id(0x8001004c), propget, bindable, displaybind]
            VARIANT_BOOL disabled();
            [id(0x000007dc), propput, bindable, displaybind]
            void border(VARIANT rhs);
            [id(0x000007dc), propget, bindable, displaybind]
            VARIANT border();
            [id(0x000007dd), propput, bindable, displaybind]
            void vspace(long rhs);
            [id(0x000007dd), propget, bindable, displaybind]
            long vspace();
            [id(0x000007de), propput, bindable, displaybind]
            void hspace(long rhs);
            [id(0x000007de), propget, bindable, displaybind]
            long hspace();
            [id(0x000007da), propput, bindable, displaybind]
            void alt(BSTR rhs);
            [id(0x000007da), propget, bindable, displaybind]
            BSTR alt();
            [id(0x000007db), propput, bindable, displaybind]
            void src(BSTR rhs);
            [id(0x000007db), propget, bindable, displaybind]
            BSTR src();
            [id(0x000007df), propput, bindable, displaybind]
            void lowsrc(BSTR rhs);
            [id(0x000007df), propget, bindable, displaybind]
            BSTR lowsrc();
            [id(0x000007e0), propput, bindable, displaybind]
            void vrml(BSTR rhs);
            [id(0x000007e0), propget, bindable, displaybind]
            BSTR vrml();
            [id(0x000007e1), propput, bindable, displaybind]
            void dynsrc(BSTR rhs);
            [id(0x000007e1), propget, bindable, displaybind]
            BSTR dynsrc();
            [id(0x800113fc), propget]
            BSTR readyState();
            [id(0x000007e2), propget]
            VARIANT_BOOL complete();
            [id(0x000007e3), propput, bindable, displaybind]
            void loop(VARIANT rhs);
            [id(0x000007e3), propget, bindable, displaybind]
            VARIANT loop();
            [id(0x80010049), propput, bindable, displaybind]
            void align(BSTR rhs);
            [id(0x80010049), propget, bindable, displaybind]
            BSTR align();
            [id(0x80011790), propput, bindable, displaybind]
            void onload(VARIANT rhs);
            [id(0x80011790), propget, bindable, displaybind]
            VARIANT onload();
            [id(0x8001178d), propput, bindable, displaybind]
            void onerror(VARIANT rhs);
            [id(0x8001178d), propget, bindable, displaybind]
            VARIANT onerror();
            [id(0x8001178c), propput, bindable, displaybind]
            void onabort(VARIANT rhs);
            [id(0x8001178c), propget, bindable, displaybind]
            VARIANT onabort();
            [id(0x80010000), propput, bindable, displaybind]
            void name(BSTR rhs);
            [id(0x80010000), propget, bindable, displaybind]
            BSTR name();
            [id(0x80010005), propput]
            void width(long rhs);
            [id(0x80010005), propget]
            long width();
            [id(0x80010006), propput]
            void height(long rhs);
            [id(0x80010006), propget]
            long height();
            [id(0x000007e4), propput, bindable, displaybind]
            void Start(BSTR rhs);
            [id(0x000007e4), propget, bindable, displaybind]
            BSTR Start();
    };

    [
      uuid(3050F2C4-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    coclass htmlInputImage {
        [default] dispinterface DispIHTMLInputImage;
        [default, source] dispinterface HTMLInputImageEvents;
        interface IHTMLInputImage;
        interface IHTMLControlElement;
        interface IHTMLElement;
    };

    typedef enum {
        BEHAVIOREVENT_FIRST = 0,
        BEHAVIOREVENT_CONTENTREADY = 0,
        BEHAVIOREVENT_DOCUMENTREADY = 1,
        BEHAVIOREVENT_APPLYSTYLE = 2,
        BEHAVIOREVENT_DOCUMENTCONTEXTCHANGE = 3,
        BEHAVIOREVENT_CONTENTSAVE = 4,
        BEHAVIOREVENT_LAST = 4,
        BEHAVIOR_EVENT_Max = 0x7fffffff
    } _BEHAVIOR_EVENT;

    typedef enum {
        BEHAVIOREVENTFLAGS_BUBBLE = 1,
        BEHAVIOREVENTFLAGS_STANDARDADDITIVE = 2,
        BEHAVIOR_EVENT_FLAGS_Max = 0x7fffffff
    } _BEHAVIOR_EVENT_FLAGS;

    typedef enum {
        BEHAVIORRENDERINFO_BEFOREBACKGROUND = 1,
        BEHAVIORRENDERINFO_AFTERBACKGROUND = 2,
        BEHAVIORRENDERINFO_BEFORECONTENT = 4,
        BEHAVIORRENDERINFO_AFTERCONTENT = 8,
        BEHAVIORRENDERINFO_AFTERFOREGROUND = 32,
        BEHAVIORRENDERINFO_ABOVECONTENT = 40,
        BEHAVIORRENDERINFO_ALLLAYERS = 255,
        BEHAVIORRENDERINFO_DISABLEBACKGROUND = 256,
        BEHAVIORRENDERINFO_DISABLENEGATIVEZ = 512,
        BEHAVIORRENDERINFO_DISABLECONTENT = 1024,
        BEHAVIORRENDERINFO_DISABLEPOSITIVEZ = 2048,
        BEHAVIORRENDERINFO_DISABLEALLLAYERS = 3840,
        BEHAVIORRENDERINFO_HITTESTING = 4096,
        BEHAVIORRENDERINFO_SURFACE = 0x00100000,
        BEHAVIORRENDERINFO_3DSURFACE = 0x00200000,
        BEHAVIOR_RENDER_INFO_Max = 0x7fffffff
    } _BEHAVIOR_RENDER_INFO;

    typedef enum {
        BEHAVIOR_FIRSTRELATION = 0,
        BEHAVIOR_SAMEELEMENT = 0,
        BEHAVIOR_PARENT = 1,
        BEHAVIOR_CHILD = 2,
        BEHAVIOR_SIBLING = 3,
        BEHAVIOR_LASTRELATION = 3,
        BEHAVIOR_RELATION_Max = 0x7fffffff
    } _BEHAVIOR_RELATION;

    typedef enum {
        BEHAVIORLAYOUTINFO_FULLDELEGATION = 1,
        BEHAVIORLAYOUTINFO_MODIFYNATURAL = 2,
        BEHAVIORLAYOUTINFO_MAPSIZE = 4,
        BEHAVIOR_LAYOUT_INFO_Max = 0x7fffffff
    } _BEHAVIOR_LAYOUT_INFO;

    typedef enum {
        BEHAVIORLAYOUTMODE_NATURAL = 1,
        BEHAVIORLAYOUTMODE_MINWIDTH = 2,
        BEHAVIORLAYOUTMODE_MAXWIDTH = 4,
        BEHAVIORLAYOUTMODE_MEDIA_RESOLUTION = 16384,
        BEHAVIORLAYOUTMODE_FINAL_PERCENT = 32768,
        BEHAVIOR_LAYOUT_MODE_Max = 0x7fffffff
    } _BEHAVIOR_LAYOUT_MODE;

    typedef enum {
        ELEMENTDESCRIPTORFLAGS_LITERAL = 1,
        ELEMENTDESCRIPTORFLAGS_NESTED_LITERAL = 2,
        ELEMENTDESCRIPTOR_FLAGS_Max = 0x7fffffff
    } _ELEMENTDESCRIPTOR_FLAGS;

    typedef enum {
        ELEMENTNAMESPACEFLAGS_ALLOWANYTAG = 1,
        ELEMENTNAMESPACEFLAGS_QUERYFORUNKNOWNTAGS = 2,
        ELEMENTNAMESPACE_FLAGS_Max = 0x7fffffff
    } _ELEMENTNAMESPACE_FLAGS;

    [
      odl,
      uuid(3050F671-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementNamespace : IUnknown {
        HRESULT _stdcall AddTag(
                        [in] BSTR bstrTagName, 
                        [in] long lFlags);
    };

    [
      odl,
      uuid(3050F670-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementNamespaceTable : IUnknown {
        HRESULT _stdcall AddNamespace(
                        [in] BSTR bstrNamespace, 
                        [in] BSTR bstrUrn, 
                        [in] long lFlags, 
                        [in] VARIANT* pvarFactory);
    };

    [
      odl,
      uuid(3050F672-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementNamespaceFactory : IUnknown {
        HRESULT _stdcall create([in] IElementNamespace* pNamespace);
    };

    [
      odl,
      uuid(3050F805-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementNamespaceFactory2 : IElementNamespaceFactory {
        HRESULT _stdcall CreateWithImplementation(
                        [in] IElementNamespace* pNamespace, 
                        [in] BSTR bstrImplementation);
    };

    [
      odl,
      uuid(3050F7FD-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementNamespaceFactoryCallback : IUnknown {
        HRESULT _stdcall Resolve(
                        [in] BSTR bstrNamespace, 
                        [in] BSTR bstrTagName, 
                        [in] BSTR bstrAttrs, 
                        [in] IElementNamespace* pNamespace);
    };

    [
      odl,
      uuid(3050F659-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorSiteOM2 : IElementBehaviorSiteOM {
        HRESULT _stdcall GetDefaults([out, retval] IHTMLElementDefaults** ppDefaults);
    };

    [
      odl,
      uuid(3050F4ED-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorCategory : IUnknown {
        HRESULT _stdcall GetCategory([out, retval] LPWSTR* ppchCategory);
    };

    [
      odl,
      uuid(3050F4EE-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorSiteCategory : IUnknown {
        HRESULT _stdcall GetRelatedBehaviors(
                        [in] long lDirection, 
                        [in] LPWSTR pchCategory, 
                        [out, retval] IEnumUnknown** ppEnumerator);
    };

    [
      odl,
      uuid(00000100-0000-0000-C000-000000000046)
    ]
    interface IEnumUnknown : IUnknown {
        HRESULT _stdcall RemoteNext(
                        [in] unsigned long celt, 
                        [out] IUnknown** rgelt, 
                        [out] unsigned long* pceltFetched);
        HRESULT _stdcall Skip([in] unsigned long celt);
        HRESULT _stdcall reset();
        HRESULT _stdcall Clone([out] IEnumUnknown** ppEnum);
    };

    [
      odl,
      uuid(3050F646-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorSubmit : IUnknown {
        HRESULT _stdcall GetSubmitInfo([in] IHTMLSubmitData* pSubmitData);
        HRESULT _stdcall reset();
    };

    [
      odl,
      uuid(3050F6B6-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorFocus : IUnknown {
        HRESULT _stdcall GetFocusRect([in] tagRECT* pRect);
    };

    [
      odl,
      uuid(3050F6BA-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorLayout : IUnknown {
        HRESULT _stdcall GetSize(
                        [in] long dwFlags, 
                        [in] tagSIZE sizeContent, 
                        [in, out] tagPOINT* pptTranslateBy, 
                        [in, out] tagPOINT* pptTopLeft, 
                        [in, out] tagSIZE* psizeProposed);
        HRESULT _stdcall GetLayoutInfo([out, retval] long* plLayoutInfo);
        HRESULT _stdcall GetPosition(
                        [in] long lFlags, 
                        [in, out] tagPOINT* pptTopLeft);
        HRESULT _stdcall MapSize(
                        [in] tagSIZE* psizeIn, 
                        [out] tagRECT* prcOut);
    };

    [
      odl,
      uuid(3050F846-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorLayout2 : IUnknown {
        HRESULT _stdcall GetTextDescent([out] long* plDescent);
    };

    [
      odl,
      uuid(3050F6B7-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorSiteLayout : IUnknown {
        HRESULT _stdcall InvalidateLayoutInfo();
        HRESULT _stdcall InvalidateSize();
        HRESULT _stdcall GetMediaResolution([out, retval] tagSIZE* psizeResolution);
    };

    [
      odl,
      uuid(3050F847-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IElementBehaviorSiteLayout2 : IUnknown {
        HRESULT _stdcall GetFontInfo([out] tagLOGFONTW* plf);
    };

    typedef struct tagtagLOGFONTW {
                
long lfHeight;
                
long lfWidth;
                
long lfEscapement;
                
long lfOrientation;
                
long lfWeight;
                
unsigned char lfItalic;
                
unsigned char lfUnderline;
                
unsigned char lfStrikeOut;
                
unsigned char lfCharSet;
                
unsigned char lfOutPrecision;
                
unsigned char lfClipPrecision;
                
unsigned char lfQuality;
                
unsigned char lfPitchAndFamily;
                
unsigned short lfFaceName[32];
    } tagLOGFONTW;

    [
      odl,
      uuid(3050F842-98B5-11CF-BB82-00AA00BDCE0B)
    ]
    interface IHostBehaviorInit : IUnknown {
        HRESULT _stdcall PopulateNamespaceTable();
    };
};

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions