// 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, 998074607),
  custom(DE77BA65-517C-11D1-A2DA-0000F8773CE9, Created by MIDL version 6.00.0347 at Fri Aug 17 11:56:30 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();
    };
};
