 
 
//*********************************************************************
//*                  Microsoft Windows                               **
//*            Copyright(c) Microsoft Corp., 1996-1998               **
//*********************************************************************

midl_pragma warning(disable:2362)   // too many methods in the interface, requires Windows NT 4.0 SP3 or greater

#include <mshtmdid.h>
#include <mshtmcid.h>
#include <olectl.h>

import "ocidl.idl";
import "dimm.idl";
import "shtypes.idl";
import "dispex.idl";

cpp_quote("#include <olectl.h>")
cpp_quote("EXTERN_C const GUID CMDSETID_Forms3;")
cpp_quote("EXTERN_C const GUID CLSID_MHTMLDocument;")
cpp_quote("EXTERN_C const GUID CLSID_HTADocument;")
cpp_quote("EXTERN_C const GUID CLSID_HTMLApplication;")
cpp_quote("EXTERN_C const GUID CLSID_HTMLPluginDocument;")

cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
cpp_quote("DEFINE_GUID(CGID_EditStateCommands,0x3050f4b6,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")


cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")

cpp_quote("// This information will be the LOWORD of the privacy flags stored in the privacy record")

cpp_quote("#define COOKIEACTION_NONE           0x00000000")
cpp_quote("#define COOKIEACTION_ACCEPT         0x00000001")
cpp_quote("#define COOKIEACTION_REJECT         0x00000002")
cpp_quote("#define COOKIEACTION_DOWNGRADE      0x00000004")
cpp_quote("#define COOKIEACTION_LEASH          0x00000008")
cpp_quote("#define COOKIEACTION_SUPPRESS       0x00000010")
cpp_quote("#define COOKIEACTION_READ           0x00000020")

cpp_quote("// Privacy info related to the url")
cpp_quote("// This information will be the HIWORD of the privacy flags stored in the privacy record")

cpp_quote("#define PRIVACY_URLISTOPLEVEL          0x00010000                   // Is this a top level url?")
cpp_quote("#define PRIVACY_URLHASCOMPACTPOLICY    0x00020000                   // Did the url have a compact policy used for privacy evaluations")
cpp_quote("#define PRIVACY_URLHASPOSTDATA         0x00080000                   // Is this a POST request?")
cpp_quote("#define PRIVACY_URLHASPOLICYREFLINK    0x00100000                   // Did the url have a privacy ref url in a link tag")
cpp_quote("#define PRIVACY_URLHASPOLICYREFHEADER  0x00200000                   // Did the url have a privacy ref url in a header tag")
cpp_quote("#define PRIVACY_URLHASP3PHEADER        0x00400000                   // Did the url have a privacy ref url in a header tag")

[
    odl,
    oleautomation,
    dual,
    uuid(3050f3ee-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFiltersCollection : IDispatch
{
    [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)] HRESULT item([in] VARIANT* pvarIndex,[retval, out] VARIANT* pvarResult);
};

[
    odl,
    oleautomation,
    dual,
    uuid(3051046b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IIE70DispatchEx : IDispatchEx
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051046c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IIE80DispatchEx : IDispatchEx
{
};

[
    lcid(0x0000),    // lcid =0; locale independent.
    helpstring("Microsoft HTML Object Library"),
    version(4.00),  //  WARNING: This version must match VERSION in dllreg.cxx.
    uuid(3050f1c5-98b5-11cf-bb82-00aa00bdce0b)
]

library MSHTML
{
    importlib("stdole2.tlb");

    import "ocidl.idl";
    #include <olectl.h>

    // Forward definitions:
    interface IHTMLEventObj;
    enum BEHAVIOR_EVENT;
    enum BEHAVIOR_EVENT_FLAGS;
    enum BEHAVIOR_RENDER_INFO;
    enum BEHAVIOR_RELATION;
    interface IElementBehaviorSite;
    interface IElementBehavior;
    interface IElementBehaviorFactory;
    interface IElementBehaviorSiteOM;
    interface IElementBehaviorRender;
    interface IElementBehaviorSiteRender;


typedef enum _htmlDesignMode
{
    htmlDesignModeInherit = -2,
    htmlDesignModeOn = -1,
    htmlDesignModeOff = 0,
    htmlDesignMode_Max = 2147483647L
} htmlDesignMode;

typedef enum _htmlZOrder
{
    htmlZOrderFront = 0,
    htmlZOrderBack = 1,
    htmlZOrder_Max = 2147483647L
} htmlZOrder;

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

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

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

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

typedef enum _htmlLoop
{
    htmlLoopLoopInfinite = -1,
    htmlLoop_Max = 2147483647L
} htmlLoop;

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

typedef enum _DomConstructor
{
    DomConstructorObject = 0,
    DomConstructorAttr = 1,
    DomConstructorBehaviorUrnsCollection = 2,
    DomConstructorBookmarkCollection = 3,
    DomConstructorCompatibleInfo = 4,
    DomConstructorCompatibleInfoCollection = 5,
    DomConstructorControlRangeCollection = 6,
    DomConstructorCSSCurrentStyleDeclaration = 7,
    DomConstructorCSSRuleList = 8,
    DomConstructorCSSRuleStyleDeclaration = 9,
    DomConstructorCSSStyleDeclaration = 10,
    DomConstructorCSSStyleRule = 11,
    DomConstructorCSSStyleSheet = 12,
    DomConstructorDataTransfer = 13,
    DomConstructorDOMImplementation = 14,
    DomConstructorElement = 15,
    DomConstructorEvent = 16,
    DomConstructorHistory = 17,
    DomConstructorHTCElementBehaviorDefaults = 18,
    DomConstructorHTMLAnchorElement = 19,
    DomConstructorHTMLAreaElement = 20,
    DomConstructorHTMLAreasCollection = 21,
    DomConstructorHTMLBaseElement = 22,
    DomConstructorHTMLBaseFontElement = 23,
    DomConstructorHTMLBGSoundElement = 24,
    DomConstructorHTMLBlockElement = 25,
    DomConstructorHTMLBodyElement = 26,
    DomConstructorHTMLBRElement = 27,
    DomConstructorHTMLButtonElement = 28,
    DomConstructorHTMLCollection = 29,
    DomConstructorHTMLCommentElement = 30,
    DomConstructorHTMLDDElement = 31,
    DomConstructorHTMLDivElement = 32,
    DomConstructorHTMLDocument = 33,
    DomConstructorHTMLDListElement = 34,
    DomConstructorHTMLDTElement = 35,
    DomConstructorHTMLEmbedElement = 36,
    DomConstructorHTMLFieldSetElement = 37,
    DomConstructorHTMLFontElement = 38,
    DomConstructorHTMLFormElement = 39,
    DomConstructorHTMLFrameElement = 40,
    DomConstructorHTMLFrameSetElement = 41,
    DomConstructorHTMLGenericElement = 42,
    DomConstructorHTMLHeadElement = 43,
    DomConstructorHTMLHeadingElement = 44,
    DomConstructorHTMLHRElement = 45,
    DomConstructorHTMLHtmlElement = 46,
    DomConstructorHTMLIFrameElement = 47,
    DomConstructorHTMLImageElement = 48,
    DomConstructorHTMLInputElement = 49,
    DomConstructorHTMLIsIndexElement = 50,
    DomConstructorHTMLLabelElement = 51,
    DomConstructorHTMLLegendElement = 52,
    DomConstructorHTMLLIElement = 53,
    DomConstructorHTMLLinkElement = 54,
    DomConstructorHTMLMapElement = 55,
    DomConstructorHTMLMarqueeElement = 56,
    DomConstructorHTMLMetaElement = 57,
    DomConstructorHTMLModelessDialog = 58,
    DomConstructorHTMLNamespaceInfo = 59,
    DomConstructorHTMLNamespaceInfoCollection = 60,
    DomConstructorHTMLNextIdElement = 61,
    DomConstructorHTMLNoShowElement = 62,
    DomConstructorHTMLObjectElement = 63,
    DomConstructorHTMLOListElement = 64,
    DomConstructorHTMLOptionElement = 65,
    DomConstructorHTMLParagraphElement = 66,
    DomConstructorHTMLParamElement = 67,
    DomConstructorHTMLPhraseElement = 68,
    DomConstructorHTMLPluginsCollection = 69,
    DomConstructorHTMLPopup = 70,
    DomConstructorHTMLScriptElement = 71,
    DomConstructorHTMLSelectElement = 72,
    DomConstructorHTMLSpanElement = 73,
    DomConstructorHTMLStyleElement = 74,
    DomConstructorHTMLTableCaptionElement = 75,
    DomConstructorHTMLTableCellElement = 76,
    DomConstructorHTMLTableColElement = 77,
    DomConstructorHTMLTableElement = 78,
    DomConstructorHTMLTableRowElement = 79,
    DomConstructorHTMLTableSectionElement = 80,
    DomConstructorHTMLTextAreaElement = 81,
    DomConstructorHTMLTextElement = 82,
    DomConstructorHTMLTitleElement = 83,
    DomConstructorHTMLUListElement = 84,
    DomConstructorHTMLUnknownElement = 85,
    DomConstructorImage = 86,
    DomConstructorLocation = 87,
    DomConstructorNamedNodeMap = 88,
    DomConstructorNavigator = 89,
    DomConstructorNodeList = 90,
    DomConstructorOption = 91,
    DomConstructorScreen = 92,
    DomConstructorSelection = 93,
    DomConstructorStaticNodeList = 94,
    DomConstructorStorage = 95,
    DomConstructorStyleSheetList = 96,
    DomConstructorStyleSheetPage = 97,
    DomConstructorStyleSheetPageList = 98,
    DomConstructorText = 99,
    DomConstructorTextRange = 100,
    DomConstructorTextRangeCollection = 101,
    DomConstructorTextRectangle = 102,
    DomConstructorTextRectangleList = 103,
    DomConstructorWindow = 104,
    DomConstructorXDomainRequest = 105,
    DomConstructorXMLHttpRequest = 106,
    DomConstructorMax = 107,
    DomConstructor_Max = 2147483647L
} DomConstructor;

[
    odl,
    oleautomation,
    dual,
    uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMConstructor : IDispatch
{
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] HRESULT constructor([retval, out] IDispatch* * p);
    [] HRESULT LookupGetter([in] BSTR propname,[retval, out] VARIANT* ppDispHandler);
    [] HRESULT LookupSetter([in] BSTR propname,[retval, out] VARIANT* ppDispHandler);
    [] HRESULT DefineGetter([in] BSTR propname,[in] VARIANT* pdispHandler);
    [] HRESULT DefineSetter([in] BSTR propname,[in] VARIANT* pdispHandler);
};
typedef enum _styleTextTransform
{
    styleTextTransformNotSet = 0,
    styleTextTransformCapitalize = 1,
    styleTextTransformLowercase = 2,
    styleTextTransformUppercase = 3,
    styleTextTransformNone = 4,
    styleTextTransform_Max = 2147483647L
} styleTextTransform;

typedef enum _styleDataRepeat
{
    styleDataRepeatNone = 0,
    styleDataRepeatInner = 1,
    styleDataRepeat_Max = 2147483647L
} styleDataRepeat;

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

typedef enum _styleTableLayout
{
    styleTableLayoutNotSet = 0,
    styleTableLayoutAuto = 1,
    styleTableLayoutFixed = 2,
    styleTableLayout_Max = 2147483647L
} styleTableLayout;

typedef enum _styleBorderCollapse
{
    styleBorderCollapseNotSet = 0,
    styleBorderCollapseSeparate = 1,
    styleBorderCollapseCollapse = 2,
    styleBorderCollapse_Max = 2147483647L
} styleBorderCollapse;

typedef enum _styleCaptionSide
{
    styleCaptionSideNotSet = 0,
    styleCaptionSideTop = 1,
    styleCaptionSideBottom = 2,
    styleCaptionSideLeft = 3,
    styleCaptionSideRight = 4,
    styleCaptionSide_Max = 2147483647L
} styleCaptionSide;

typedef enum _styleEmptyCells
{
    styleEmptyCellsNotSet = 0,
    styleEmptyCellsShow = 1,
    styleEmptyCellsHide = 2,
    styleEmptyCells_Max = 2147483647L
} styleEmptyCells;

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

typedef enum _styleFontVariant
{
    styleFontVariantNotSet = 0,
    styleFontVariantSmallCaps = 1,
    styleFontVariantNormal = 2,
    styleFontVariant_Max = 2147483647L
} styleFontVariant;

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

typedef enum _styleBackgroundAttachment
{
    styleBackgroundAttachmentFixed = 0,
    styleBackgroundAttachmentScroll = 1,
    styleBackgroundAttachmentNotSet = 2,
    styleBackgroundAttachment_Max = 2147483647L
} styleBackgroundAttachment;

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

typedef enum _styleFontWeight
{
    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 = 2147483647L
} styleFontWeight;

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

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

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

typedef enum _styleZIndex
{
    styleZIndexAuto = -2147483647,
    styleZIndex_Max = 2147483647L
} styleZIndex;

typedef enum _styleWidowsOrphans
{
    styleWidowsOrphansNotSet = -2147483647,
    styleWidowsOrphans_Max = 2147483647L
} styleWidowsOrphans;

typedef enum _styleAuto
{
    styleAutoAuto = 0,
    styleAuto_Max = 2147483647L
} styleAuto;

typedef enum _styleNone
{
    styleNoneNone = 0,
    styleNone_Max = 2147483647L
} styleNone;

typedef enum _styleNormal
{
    styleNormalNormal = 0,
    styleNormal_Max = 2147483647L
} styleNormal;

typedef enum _styleBorderWidth
{
    styleBorderWidthThin = 0,
    styleBorderWidthMedium = 1,
    styleBorderWidthThick = 2,
    styleBorderWidth_Max = 2147483647L
} styleBorderWidth;

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

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

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

typedef enum _styleDisplay
{
    styleDisplayNotSet = 0,
    styleDisplayBlock = 1,
    styleDisplayInline = 2,
    styleDisplayListItem = 3,
    styleDisplayNone = 4,
    styleDisplayTableHeaderGroup = 5,
    styleDisplayTableFooterGroup = 6,
    styleDisplayInlineBlock = 7,
    styleDisplayTable = 8,
    styleDisplayInlineTable = 9,
    styleDisplayTableRow = 10,
    styleDisplayTableRowGroup = 11,
    styleDisplayTableColumn = 12,
    styleDisplayTableColumnGroup = 13,
    styleDisplayTableCell = 14,
    styleDisplayTableCaption = 15,
    styleDisplayRunIn = 16,
    styleDisplayRuby = 17,
    styleDisplayRubyBase = 18,
    styleDisplayRubyText = 19,
    styleDisplayRubyBaseContainer = 20,
    styleDisplayRubyTextContainer = 21,
    styleDisplay_Max = 2147483647L
} styleDisplay;

typedef enum _styleVisibility
{
    styleVisibilityNotSet = 0,
    styleVisibilityInherit = 1,
    styleVisibilityVisible = 2,
    styleVisibilityHidden = 3,
    styleVisibilityCollapse = 4,
    styleVisibility_Max = 2147483647L
} styleVisibility;

typedef enum _styleListStyleType
{
    styleListStyleTypeNotSet = 0,
    styleListStyleTypeDisc = 1,
    styleListStyleTypeCircle = 2,
    styleListStyleTypeSquare = 3,
    styleListStyleTypeDecimal = 4,
    styleListStyleTypeLowerRoman = 5,
    styleListStyleTypeUpperRoman = 6,
    styleListStyleTypeLowerAlpha = 7,
    styleListStyleTypeUpperAlpha = 8,
    styleListStyleTypeNone = 9,
    styleListStyleTypeDecimalLeadingZero = 10,
    styleListStyleTypeGeorgian = 11,
    styleListStyleTypeArmenian = 12,
    styleListStyleTypeUpperLatin = 13,
    styleListStyleTypeLowerLatin = 14,
    styleListStyleTypeUpperGreek = 15,
    styleListStyleTypeLowerGreek = 16,
    styleListStyleType_Max = 2147483647L
} styleListStyleType;

typedef enum _styleListStylePosition
{
    styleListStylePositionNotSet = 0,
    styleListStylePositionInside = 1,
    styleListStylePositionOutSide = 2,
    styleListStylePosition_Max = 2147483647L
} styleListStylePosition;

typedef enum _styleWhiteSpace
{
    styleWhiteSpaceNotSet = 0,
    styleWhiteSpaceNormal = 1,
    styleWhiteSpacePre = 2,
    styleWhiteSpaceNowrap = 3,
    styleWhiteSpacePreline = 4,
    styleWhiteSpacePrewrap = 5,
    styleWhiteSpace_Max = 2147483647L
} styleWhiteSpace;

typedef enum _stylePageBreak
{
    stylePageBreakNotSet = 0,
    stylePageBreakAuto = 1,
    stylePageBreakAlways = 2,
    stylePageBreakLeft = 3,
    stylePageBreakRight = 4,
    stylePageBreakAvoid = 5,
    stylePageBreak_Max = 2147483647L
} stylePageBreak;

typedef enum _stylePageBreakInside
{
    stylePageBreakInsideNotSet = 0,
    stylePageBreakInsideAuto = 1,
    stylePageBreakInsideAvoid = 2,
    stylePageBreakInside_Max = 2147483647L
} stylePageBreakInside;

typedef enum _styleCursor
{
    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 = 2147483647L
} styleCursor;

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

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

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

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

typedef enum _styleRubyPosition
{
    styleRubyPositionNotSet = 0,
    styleRubyPositionAbove = 1,
    styleRubyPositionInline = 2,
    styleRubyPosition_Max = 2147483647L
} styleRubyPosition;

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

typedef enum _styleLayoutGridChar
{
    styleLayoutGridCharNotSet = 0,
    styleLayoutGridCharAuto = 1,
    styleLayoutGridCharNone = 2,
    styleLayoutGridChar_Max = 2147483647L
} styleLayoutGridChar;

typedef enum _styleLayoutGridLine
{
    styleLayoutGridLineNotSet = 0,
    styleLayoutGridLineAuto = 1,
    styleLayoutGridLineNone = 2,
    styleLayoutGridLine_Max = 2147483647L
} styleLayoutGridLine;

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

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

typedef enum _styleLineBreak
{
    styleLineBreakNotSet = 0,
    styleLineBreakNormal = 1,
    styleLineBreakStrict = 2,
    styleLineBreak_Max = 2147483647L
} styleLineBreak;

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

typedef enum _styleWordWrap
{
    styleWordWrapNotSet = 0,
    styleWordWrapOff = 1,
    styleWordWrapOn = 2,
    styleWordWrap_Max = 2147483647L
} styleWordWrap;

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

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

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

typedef enum _styleAccelerator
{
    styleAcceleratorFalse = 0,
    styleAcceleratorTrue = 1,
    styleAccelerator_Max = 2147483647L
} styleAccelerator;

typedef enum _styleLayoutFlow
{
    styleLayoutFlowHorizontal = 0,
    styleLayoutFlowVerticalIdeographic = 1,
    styleLayoutFlowNotSet = 2,
    styleLayoutFlow_Max = 2147483647L
} styleLayoutFlow;

typedef enum _styleBlockProgression
{
    styleBlockProgressionTb = 0,
    styleBlockProgressionRl = 1,
    styleBlockProgressionBt = 2,
    styleBlockProgressionLr = 3,
    styleBlockProgressionNotSet = 4,
    styleBlockProgression_Max = 2147483647L
} styleBlockProgression;

typedef enum _styleWritingMode
{
    styleWritingModeLrtb = 0,
    styleWritingModeTbrl = 1,
    styleWritingModeRltb = 2,
    styleWritingModeBtrl = 3,
    styleWritingModeNotSet = 4,
    styleWritingModeTblr = 5,
    styleWritingModeBtlr = 6,
    styleWritingModeLrbt = 7,
    styleWritingModeRlbt = 8,
    styleWritingMode_Max = 2147483647L
} styleWritingMode;

typedef enum _styleBool
{
    styleBoolFalse = 0,
    styleBoolTrue = 1,
    styleBool_Max = 2147483647L
} styleBool;

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

typedef enum _styleTextOverflow
{
    styleTextOverflowClip = 0,
    styleTextOverflowEllipsis = 1,
    styleTextOverflowNotSet = 2,
    styleTextOverflow_Max = 2147483647L
} styleTextOverflow;

typedef enum _styleInterpolation
{
    styleInterpolationNotSet = 0,
    styleInterpolationNN = 1,
    styleInterpolationBCH = 2,
    styleInterpolation_Max = 2147483647L
} styleInterpolation;

typedef enum _styleBoxSizing
{
    styleBoxSizingNotSet = 0,
    styleBoxSizingContentBox = 1,
    styleBoxSizingBorderBox = 2,
    styleBoxSizing_Max = 2147483647L
} styleBoxSizing;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f25e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyle : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable] HRESULT fontFamily([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable] HRESULT fontFamily([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable] HRESULT fontStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable] HRESULT fontStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable] HRESULT fontVariant([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable] HRESULT fontVariant([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable] HRESULT fontWeight([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable] HRESULT fontWeight([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable] HRESULT fontSize([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable] HRESULT fontSize([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable] HRESULT font([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable] HRESULT font([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable] HRESULT color([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable] HRESULT color([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable] HRESULT background([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable] HRESULT background([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable] HRESULT backgroundColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable] HRESULT backgroundColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable] HRESULT backgroundImage([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable] HRESULT backgroundImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable] HRESULT backgroundRepeat([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable] HRESULT backgroundRepeat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] HRESULT backgroundAttachment([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] HRESULT backgroundAttachment([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable] HRESULT backgroundPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable] HRESULT backgroundPosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] HRESULT backgroundPositionX([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] HRESULT backgroundPositionX([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] HRESULT backgroundPositionY([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] HRESULT backgroundPositionY([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable] HRESULT wordSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable] HRESULT wordSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable] HRESULT letterSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable] HRESULT letterSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable] HRESULT textDecorationNone([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable] HRESULT textDecorationNone([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable] HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable] HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable] HRESULT textDecorationOverline([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable] HRESULT textDecorationOverline([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable] HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable] HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable] HRESULT textDecorationBlink([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable] HRESULT textDecorationBlink([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable] HRESULT verticalAlign([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable] HRESULT verticalAlign([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable] HRESULT textTransform([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable] HRESULT textTransform([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable] HRESULT textAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable] HRESULT textAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable] HRESULT textIndent([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable] HRESULT textIndent([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable] HRESULT lineHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable] HRESULT lineHeight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable] HRESULT marginTop([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable] HRESULT marginTop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable] HRESULT marginRight([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable] HRESULT marginRight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable] HRESULT marginBottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable] HRESULT marginBottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable] HRESULT marginLeft([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable] HRESULT marginLeft([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable] HRESULT margin([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable] HRESULT margin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable] HRESULT paddingTop([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable] HRESULT paddingTop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable] HRESULT paddingRight([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable] HRESULT paddingRight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable] HRESULT paddingBottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable] HRESULT paddingBottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable] HRESULT paddingLeft([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable] HRESULT paddingLeft([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable] HRESULT padding([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable] HRESULT padding([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable] HRESULT border([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable] HRESULT border([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable] HRESULT borderTop([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable] HRESULT borderTop([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable] HRESULT borderRight([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable] HRESULT borderRight([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable] HRESULT borderBottom([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable] HRESULT borderBottom([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable] HRESULT borderLeft([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable] HRESULT borderLeft([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable] HRESULT borderColor([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable] HRESULT borderColor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable] HRESULT borderTopColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable] HRESULT borderTopColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable] HRESULT borderRightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable] HRESULT borderRightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] HRESULT borderBottomColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] HRESULT borderBottomColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable] HRESULT borderLeftColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable] HRESULT borderLeftColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable] HRESULT borderWidth([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable] HRESULT borderWidth([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable] HRESULT borderTopWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable] HRESULT borderTopWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable] HRESULT borderRightWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable] HRESULT borderRightWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] HRESULT borderBottomWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] HRESULT borderBottomWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable] HRESULT borderLeftWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable] HRESULT borderLeftWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable] HRESULT borderStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable] HRESULT borderStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable] HRESULT borderTopStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable] HRESULT borderTopStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable] HRESULT borderRightStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable] HRESULT borderRightStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] HRESULT borderBottomStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] HRESULT borderBottomStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable] HRESULT borderLeftStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable] HRESULT borderLeftStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable] HRESULT height([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable] HRESULT styleFloat([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable] HRESULT styleFloat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable] HRESULT clear([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable] HRESULT clear([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable] HRESULT display([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable] HRESULT display([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable] HRESULT visibility([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable] HRESULT visibility([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable] HRESULT listStyleType([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable] HRESULT listStyleType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable] HRESULT listStylePosition([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable] HRESULT listStylePosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable] HRESULT listStyleImage([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable] HRESULT listStyleImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable] HRESULT listStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable] HRESULT listStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable] HRESULT whiteSpace([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable] HRESULT whiteSpace([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable] HRESULT top([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable] HRESULT top([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable] HRESULT left([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable] HRESULT left([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLSTYLE_POSITION), displaybind, bindable] HRESULT position([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable] HRESULT zIndex([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable] HRESULT zIndex([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable] HRESULT overflow([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable] HRESULT overflow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable] HRESULT pageBreakBefore([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable] HRESULT pageBreakBefore([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable] HRESULT pageBreakAfter([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable] HRESULT pageBreakAfter([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable] HRESULT cssText([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable] HRESULT cssText([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden] HRESULT pixelTop([in] long v);
    [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden] HRESULT pixelTop([retval, out] long * p);
    [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden] HRESULT pixelLeft([in] long v);
    [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden] HRESULT pixelLeft([retval, out] long * p);
    [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden] HRESULT pixelWidth([in] long v);
    [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden] HRESULT pixelWidth([retval, out] long * p);
    [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden] HRESULT pixelHeight([in] long v);
    [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden] HRESULT pixelHeight([retval, out] long * p);
    [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable] HRESULT posTop([in] float v);
    [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable] HRESULT posTop([retval, out] float * p);
    [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable] HRESULT posLeft([in] float v);
    [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable] HRESULT posLeft([retval, out] float * p);
    [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable] HRESULT posWidth([in] float v);
    [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable] HRESULT posWidth([retval, out] float * p);
    [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable] HRESULT posHeight([in] float v);
    [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable] HRESULT posHeight([retval, out] float * p);
    [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable] HRESULT cursor([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable] HRESULT cursor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable] HRESULT clip([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable] HRESULT clip([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable] HRESULT filter([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable] HRESULT filter([retval, out] BSTR * p);
    [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)] HRESULT setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags,[retval, out] VARIANT* AttributeValue);
    [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)] HRESULT removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags,[retval, out] VARIANT_BOOL* pfSuccess);
    [id(DISPID_IHTMLSTYLE_TOSTRING)] HRESULT toString([retval, out] BSTR* String);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyle2 : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable] HRESULT tableLayout([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable] HRESULT tableLayout([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable] HRESULT borderCollapse([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable] HRESULT borderCollapse([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable] HRESULT direction([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable] HRESULT direction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable] HRESULT behavior([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable] HRESULT behavior([retval, out] BSTR * p);
    [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)] HRESULT setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)] HRESULT getExpression([in] BSTR propname,[retval, out] VARIANT* expression);
    [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)] HRESULT removeExpression([in] BSTR propname,[retval, out] VARIANT_BOOL* pfSuccess);
    [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable] HRESULT position([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable] HRESULT position([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable] HRESULT unicodeBidi([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable] HRESULT unicodeBidi([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable] HRESULT bottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable] HRESULT bottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable] HRESULT right([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable] HRESULT right([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden] HRESULT pixelBottom([in] long v);
    [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden] HRESULT pixelBottom([retval, out] long * p);
    [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden] HRESULT pixelRight([in] long v);
    [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden] HRESULT pixelRight([retval, out] long * p);
    [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable] HRESULT posBottom([in] float v);
    [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable] HRESULT posBottom([retval, out] float * p);
    [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable] HRESULT posRight([in] float v);
    [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable] HRESULT posRight([retval, out] float * p);
    [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable] HRESULT imeMode([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable] HRESULT imeMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable] HRESULT rubyAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable] HRESULT rubyAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable] HRESULT rubyPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable] HRESULT rubyPosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable] HRESULT rubyOverhang([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable] HRESULT rubyOverhang([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable] HRESULT layoutGridChar([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable] HRESULT layoutGridChar([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable] HRESULT layoutGridLine([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable] HRESULT layoutGridLine([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable] HRESULT layoutGridMode([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable] HRESULT layoutGridMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable] HRESULT layoutGridType([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable] HRESULT layoutGridType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable] HRESULT layoutGrid([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable] HRESULT layoutGrid([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable] HRESULT wordBreak([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable] HRESULT wordBreak([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable] HRESULT lineBreak([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable] HRESULT lineBreak([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable] HRESULT textJustify([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable] HRESULT textJustify([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable] HRESULT textJustifyTrim([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable] HRESULT textJustifyTrim([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable] HRESULT textKashida([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable] HRESULT textKashida([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable] HRESULT textAutospace([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable] HRESULT textAutospace([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable] HRESULT overflowX([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable] HRESULT overflowX([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable] HRESULT overflowY([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable] HRESULT overflowY([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable] HRESULT accelerator([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable] HRESULT accelerator([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyle3 : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable] HRESULT layoutFlow([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable] HRESULT layoutFlow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable] HRESULT zoom([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable] HRESULT zoom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable] HRESULT wordWrap([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable] HRESULT wordWrap([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable] HRESULT textUnderlinePosition([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable] HRESULT textUnderlinePosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable] HRESULT scrollbarBaseColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable] HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable] HRESULT scrollbarFaceColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable] HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] HRESULT scrollbar3dLightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarShadowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] HRESULT scrollbarHighlightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarDarkShadowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable] HRESULT scrollbarArrowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable] HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable] HRESULT scrollbarTrackColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable] HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable] HRESULT writingMode([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable] HRESULT writingMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable] HRESULT textAlignLast([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable] HRESULT textAlignLast([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable] HRESULT textKashidaSpace([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable] HRESULT textKashidaSpace([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyle4 : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable] HRESULT textOverflow([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable] HRESULT textOverflow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable] HRESULT minHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable] HRESULT minHeight([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyle5 : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable] HRESULT msInterpolationMode([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable] HRESULT msInterpolationMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable] HRESULT maxHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable] HRESULT maxHeight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable] HRESULT minWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable] HRESULT minWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable] HRESULT maxWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable] HRESULT maxWidth([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyle6 : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable] HRESULT content([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable] HRESULT content([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable] HRESULT captionSide([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable] HRESULT captionSide([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable] HRESULT counterIncrement([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable] HRESULT counterIncrement([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable] HRESULT counterReset([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable] HRESULT counterReset([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable] HRESULT outline([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable] HRESULT outline([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable] HRESULT outlineWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable] HRESULT outlineWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable] HRESULT outlineStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable] HRESULT outlineStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable] HRESULT outlineColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable] HRESULT outlineColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable] HRESULT boxSizing([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable] HRESULT boxSizing([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable] HRESULT borderSpacing([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable] HRESULT borderSpacing([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable] HRESULT orphans([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable] HRESULT orphans([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable] HRESULT widows([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable] HRESULT widows([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable] HRESULT pageBreakInside([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable] HRESULT pageBreakInside([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable] HRESULT emptyCells([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable] HRESULT emptyCells([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable] HRESULT msBlockProgression([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable] HRESULT msBlockProgression([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable] HRESULT quotes([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable] HRESULT quotes([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3cf-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRuleStyle : IDispatch
{
    [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), displaybind, bindable] HRESULT fontFamily([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), displaybind, bindable] HRESULT fontFamily([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), displaybind, bindable] HRESULT fontStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), displaybind, bindable] HRESULT fontStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), displaybind, bindable] HRESULT fontVariant([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), displaybind, bindable] HRESULT fontVariant([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), displaybind, bindable] HRESULT fontWeight([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), displaybind, bindable] HRESULT fontWeight([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), displaybind, bindable] HRESULT fontSize([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), displaybind, bindable] HRESULT fontSize([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_FONT), displaybind, bindable, nonbrowsable] HRESULT font([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONT), displaybind, bindable, nonbrowsable] HRESULT font([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_COLOR), displaybind, bindable] HRESULT color([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_COLOR), displaybind, bindable] HRESULT color([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), displaybind, bindable, nonbrowsable] HRESULT background([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), displaybind, bindable, nonbrowsable] HRESULT background([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), displaybind, bindable] HRESULT backgroundColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), displaybind, bindable] HRESULT backgroundColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), displaybind, bindable] HRESULT backgroundImage([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), displaybind, bindable] HRESULT backgroundImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), displaybind, bindable] HRESULT backgroundRepeat([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), displaybind, bindable] HRESULT backgroundRepeat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] HRESULT backgroundAttachment([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] HRESULT backgroundAttachment([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable] HRESULT backgroundPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable] HRESULT backgroundPosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] HRESULT backgroundPositionX([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] HRESULT backgroundPositionX([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] HRESULT backgroundPositionY([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] HRESULT backgroundPositionY([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), displaybind, bindable] HRESULT wordSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), displaybind, bindable] HRESULT wordSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), displaybind, bindable] HRESULT letterSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), displaybind, bindable] HRESULT letterSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), displaybind, bindable] HRESULT textDecorationNone([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), displaybind, bindable] HRESULT textDecorationNone([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable] HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable] HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable] HRESULT textDecorationOverline([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable] HRESULT textDecorationOverline([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable] HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable] HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), displaybind, bindable] HRESULT textDecorationBlink([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), displaybind, bindable] HRESULT textDecorationBlink([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), displaybind, bindable] HRESULT verticalAlign([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), displaybind, bindable] HRESULT verticalAlign([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), displaybind, bindable] HRESULT textTransform([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), displaybind, bindable] HRESULT textTransform([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), displaybind, bindable] HRESULT textAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), displaybind, bindable] HRESULT textAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), displaybind, bindable] HRESULT textIndent([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), displaybind, bindable] HRESULT textIndent([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), displaybind, bindable] HRESULT lineHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), displaybind, bindable] HRESULT lineHeight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), displaybind, bindable] HRESULT marginTop([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), displaybind, bindable] HRESULT marginTop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), displaybind, bindable] HRESULT marginRight([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), displaybind, bindable] HRESULT marginRight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), displaybind, bindable] HRESULT marginBottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), displaybind, bindable] HRESULT marginBottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), displaybind, bindable] HRESULT marginLeft([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), displaybind, bindable] HRESULT marginLeft([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), displaybind, bindable, nonbrowsable] HRESULT margin([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), displaybind, bindable, nonbrowsable] HRESULT margin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), displaybind, bindable] HRESULT paddingTop([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), displaybind, bindable] HRESULT paddingTop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), displaybind, bindable] HRESULT paddingRight([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), displaybind, bindable] HRESULT paddingRight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), displaybind, bindable] HRESULT paddingBottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), displaybind, bindable] HRESULT paddingBottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), displaybind, bindable] HRESULT paddingLeft([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), displaybind, bindable] HRESULT paddingLeft([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_PADDING), displaybind, bindable, nonbrowsable] HRESULT padding([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDING), displaybind, bindable, nonbrowsable] HRESULT padding([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDER), displaybind, bindable, nonbrowsable] HRESULT border([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDER), displaybind, bindable, nonbrowsable] HRESULT border([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), displaybind, bindable] HRESULT borderTop([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), displaybind, bindable] HRESULT borderTop([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), displaybind, bindable] HRESULT borderRight([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), displaybind, bindable] HRESULT borderRight([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), displaybind, bindable] HRESULT borderBottom([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), displaybind, bindable] HRESULT borderBottom([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), displaybind, bindable] HRESULT borderLeft([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), displaybind, bindable] HRESULT borderLeft([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), displaybind, bindable] HRESULT borderColor([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), displaybind, bindable] HRESULT borderColor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), displaybind, bindable] HRESULT borderTopColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), displaybind, bindable] HRESULT borderTopColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), displaybind, bindable] HRESULT borderRightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), displaybind, bindable] HRESULT borderRightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] HRESULT borderBottomColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] HRESULT borderBottomColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), displaybind, bindable] HRESULT borderLeftColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), displaybind, bindable] HRESULT borderLeftColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), displaybind, bindable] HRESULT borderWidth([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), displaybind, bindable] HRESULT borderWidth([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), displaybind, bindable] HRESULT borderTopWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), displaybind, bindable] HRESULT borderTopWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), displaybind, bindable] HRESULT borderRightWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), displaybind, bindable] HRESULT borderRightWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] HRESULT borderBottomWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] HRESULT borderBottomWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), displaybind, bindable] HRESULT borderLeftWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), displaybind, bindable] HRESULT borderLeftWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), displaybind, bindable] HRESULT borderStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), displaybind, bindable] HRESULT borderStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), displaybind, bindable] HRESULT borderTopStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), displaybind, bindable] HRESULT borderTopStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), displaybind, bindable] HRESULT borderRightStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), displaybind, bindable] HRESULT borderRightStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] HRESULT borderBottomStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] HRESULT borderBottomStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), displaybind, bindable] HRESULT borderLeftStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), displaybind, bindable] HRESULT borderLeftStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), displaybind, bindable] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), displaybind, bindable] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), displaybind, bindable] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), displaybind, bindable] HRESULT height([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), displaybind, bindable] HRESULT styleFloat([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), displaybind, bindable] HRESULT styleFloat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), displaybind, bindable] HRESULT clear([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), displaybind, bindable] HRESULT clear([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), displaybind, bindable] HRESULT display([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), displaybind, bindable] HRESULT display([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), displaybind, bindable] HRESULT visibility([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), displaybind, bindable] HRESULT visibility([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), displaybind, bindable] HRESULT listStyleType([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), displaybind, bindable] HRESULT listStyleType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), displaybind, bindable] HRESULT listStylePosition([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), displaybind, bindable] HRESULT listStylePosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), displaybind, bindable] HRESULT listStyleImage([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), displaybind, bindable] HRESULT listStyleImage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable] HRESULT listStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable] HRESULT listStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), displaybind, bindable] HRESULT whiteSpace([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), displaybind, bindable] HRESULT whiteSpace([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_TOP), displaybind, bindable] HRESULT top([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_TOP), displaybind, bindable] HRESULT top([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_LEFT), displaybind, bindable] HRESULT left([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_LEFT), displaybind, bindable] HRESULT left([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLRULESTYLE_POSITION), displaybind, bindable] HRESULT position([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), displaybind, bindable] HRESULT zIndex([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), displaybind, bindable] HRESULT zIndex([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), displaybind, bindable] HRESULT overflow([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), displaybind, bindable] HRESULT overflow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), displaybind, bindable] HRESULT pageBreakBefore([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), displaybind, bindable] HRESULT pageBreakBefore([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), displaybind, bindable] HRESULT pageBreakAfter([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), displaybind, bindable] HRESULT pageBreakAfter([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), displaybind, bindable, nonbrowsable] HRESULT cssText([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), displaybind, bindable, nonbrowsable] HRESULT cssText([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), displaybind, bindable] HRESULT cursor([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), displaybind, bindable] HRESULT cursor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_CLIP), displaybind, bindable] HRESULT clip([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_CLIP), displaybind, bindable] HRESULT clip([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE_FILTER), displaybind, bindable] HRESULT filter([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FILTER), displaybind, bindable] HRESULT filter([retval, out] BSTR * p);
    [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)] HRESULT setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags,[retval, out] VARIANT* AttributeValue);
    [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)] HRESULT removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags,[retval, out] VARIANT_BOOL* pfSuccess);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4ac-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRuleStyle2 : IDispatch
{
    [propput, id(DISPID_IHTMLRULESTYLE2_TABLELAYOUT), displaybind, bindable] HRESULT tableLayout([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TABLELAYOUT), displaybind, bindable] HRESULT tableLayout([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_BORDERCOLLAPSE), displaybind, bindable] HRESULT borderCollapse([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_BORDERCOLLAPSE), displaybind, bindable] HRESULT borderCollapse([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_DIRECTION), displaybind, bindable] HRESULT direction([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_DIRECTION), displaybind, bindable] HRESULT direction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_BEHAVIOR), displaybind, bindable] HRESULT behavior([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_BEHAVIOR), displaybind, bindable] HRESULT behavior([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_POSITION), displaybind, bindable] HRESULT position([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_POSITION), displaybind, bindable] HRESULT position([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_UNICODEBIDI), displaybind, bindable] HRESULT unicodeBidi([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_UNICODEBIDI), displaybind, bindable] HRESULT unicodeBidi([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_BOTTOM), displaybind, bindable] HRESULT bottom([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_BOTTOM), displaybind, bindable] HRESULT bottom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_RIGHT), displaybind, bindable] HRESULT right([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_RIGHT), displaybind, bindable] HRESULT right([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_PIXELBOTTOM), displaybind, bindable, hidden] HRESULT pixelBottom([in] long v);
    [propget, id(DISPID_IHTMLRULESTYLE2_PIXELBOTTOM), displaybind, bindable, hidden] HRESULT pixelBottom([retval, out] long * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_PIXELRIGHT), displaybind, bindable, hidden] HRESULT pixelRight([in] long v);
    [propget, id(DISPID_IHTMLRULESTYLE2_PIXELRIGHT), displaybind, bindable, hidden] HRESULT pixelRight([retval, out] long * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_POSBOTTOM), displaybind, bindable] HRESULT posBottom([in] float v);
    [propget, id(DISPID_IHTMLRULESTYLE2_POSBOTTOM), displaybind, bindable] HRESULT posBottom([retval, out] float * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_POSRIGHT), displaybind, bindable] HRESULT posRight([in] float v);
    [propget, id(DISPID_IHTMLRULESTYLE2_POSRIGHT), displaybind, bindable] HRESULT posRight([retval, out] float * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_IMEMODE), displaybind, bindable] HRESULT imeMode([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_IMEMODE), displaybind, bindable] HRESULT imeMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_RUBYALIGN), displaybind, bindable] HRESULT rubyAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_RUBYALIGN), displaybind, bindable] HRESULT rubyAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_RUBYPOSITION), displaybind, bindable] HRESULT rubyPosition([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_RUBYPOSITION), displaybind, bindable] HRESULT rubyPosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_RUBYOVERHANG), displaybind, bindable] HRESULT rubyOverhang([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_RUBYOVERHANG), displaybind, bindable] HRESULT rubyOverhang([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDCHAR), displaybind, bindable] HRESULT layoutGridChar([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDCHAR), displaybind, bindable] HRESULT layoutGridChar([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDLINE), displaybind, bindable] HRESULT layoutGridLine([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDLINE), displaybind, bindable] HRESULT layoutGridLine([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDMODE), displaybind, bindable] HRESULT layoutGridMode([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDMODE), displaybind, bindable] HRESULT layoutGridMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDTYPE), displaybind, bindable] HRESULT layoutGridType([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDTYPE), displaybind, bindable] HRESULT layoutGridType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable] HRESULT layoutGrid([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable] HRESULT layoutGrid([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_TEXTAUTOSPACE), displaybind, bindable] HRESULT textAutospace([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TEXTAUTOSPACE), displaybind, bindable] HRESULT textAutospace([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_WORDBREAK), displaybind, bindable] HRESULT wordBreak([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_WORDBREAK), displaybind, bindable] HRESULT wordBreak([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_LINEBREAK), displaybind, bindable] HRESULT lineBreak([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LINEBREAK), displaybind, bindable] HRESULT lineBreak([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_TEXTJUSTIFY), displaybind, bindable] HRESULT textJustify([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TEXTJUSTIFY), displaybind, bindable] HRESULT textJustify([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable] HRESULT textJustifyTrim([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable] HRESULT textJustifyTrim([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_TEXTKASHIDA), displaybind, bindable] HRESULT textKashida([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TEXTKASHIDA), displaybind, bindable] HRESULT textKashida([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_OVERFLOWX), displaybind, bindable] HRESULT overflowX([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_OVERFLOWX), displaybind, bindable] HRESULT overflowX([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_OVERFLOWY), displaybind, bindable] HRESULT overflowY([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_OVERFLOWY), displaybind, bindable] HRESULT overflowY([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE2_ACCELERATOR), displaybind, bindable] HRESULT accelerator([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_ACCELERATOR), displaybind, bindable] HRESULT accelerator([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f657-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRuleStyle3 : IDispatch
{
    [propput, id(DISPID_IHTMLRULESTYLE3_LAYOUTFLOW), displaybind, bindable] HRESULT layoutFlow([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_LAYOUTFLOW), displaybind, bindable] HRESULT layoutFlow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_ZOOM), displaybind, bindable] HRESULT zoom([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_ZOOM), displaybind, bindable] HRESULT zoom([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_WORDWRAP), displaybind, bindable] HRESULT wordWrap([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_WORDWRAP), displaybind, bindable] HRESULT wordWrap([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable] HRESULT textUnderlinePosition([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable] HRESULT textUnderlinePosition([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARBASECOLOR), displaybind, bindable] HRESULT scrollbarBaseColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARBASECOLOR), displaybind, bindable] HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARFACECOLOR), displaybind, bindable] HRESULT scrollbarFaceColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARFACECOLOR), displaybind, bindable] HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] HRESULT scrollbar3dLightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarShadowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] HRESULT scrollbarHighlightColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarDarkShadowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable] HRESULT scrollbarArrowColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable] HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable] HRESULT scrollbarTrackColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable] HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_WRITINGMODE), displaybind, bindable] HRESULT writingMode([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_WRITINGMODE), displaybind, bindable] HRESULT writingMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_TEXTALIGNLAST), displaybind, bindable] HRESULT textAlignLast([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_TEXTALIGNLAST), displaybind, bindable] HRESULT textAlignLast([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE3_TEXTKASHIDASPACE), displaybind, bindable] HRESULT textKashidaSpace([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_TEXTKASHIDASPACE), displaybind, bindable] HRESULT textKashidaSpace([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f817-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRuleStyle4 : IDispatch
{
    [propput, id(DISPID_IHTMLRULESTYLE4_TEXTOVERFLOW), displaybind, bindable] HRESULT textOverflow([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE4_TEXTOVERFLOW), displaybind, bindable] HRESULT textOverflow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE4_MINHEIGHT), displaybind, bindable] HRESULT minHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE4_MINHEIGHT), displaybind, bindable] HRESULT minHeight([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f335-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRuleStyle5 : IDispatch
{
    [propput, id(DISPID_IHTMLRULESTYLE5_MSINTERPOLATIONMODE), displaybind, bindable] HRESULT msInterpolationMode([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE5_MSINTERPOLATIONMODE), displaybind, bindable] HRESULT msInterpolationMode([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE5_MAXHEIGHT), displaybind, bindable] HRESULT maxHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE5_MAXHEIGHT), displaybind, bindable] HRESULT maxHeight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE5_MINWIDTH), displaybind, bindable] HRESULT minWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE5_MINWIDTH), displaybind, bindable] HRESULT minWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE5_MAXWIDTH), displaybind, bindable] HRESULT maxWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE5_MAXWIDTH), displaybind, bindable] HRESULT maxWidth([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510471-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRuleStyle6 : IDispatch
{
    [propput, id(DISPID_IHTMLRULESTYLE6_CONTENT), displaybind, bindable] HRESULT content([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_CONTENT), displaybind, bindable] HRESULT content([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_CAPTIONSIDE), displaybind, bindable] HRESULT captionSide([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_CAPTIONSIDE), displaybind, bindable] HRESULT captionSide([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_COUNTERINCREMENT), displaybind, bindable] HRESULT counterIncrement([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_COUNTERINCREMENT), displaybind, bindable] HRESULT counterIncrement([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_COUNTERRESET), displaybind, bindable] HRESULT counterReset([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_COUNTERRESET), displaybind, bindable] HRESULT counterReset([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_OUTLINE), displaybind, bindable] HRESULT outline([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_OUTLINE), displaybind, bindable] HRESULT outline([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_OUTLINEWIDTH), displaybind, bindable] HRESULT outlineWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE6_OUTLINEWIDTH), displaybind, bindable] HRESULT outlineWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_OUTLINESTYLE), displaybind, bindable] HRESULT outlineStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_OUTLINESTYLE), displaybind, bindable] HRESULT outlineStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_OUTLINECOLOR), displaybind, bindable] HRESULT outlineColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE6_OUTLINECOLOR), displaybind, bindable] HRESULT outlineColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_BOXSIZING), displaybind, bindable] HRESULT boxSizing([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_BOXSIZING), displaybind, bindable] HRESULT boxSizing([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_BORDERSPACING), displaybind, bindable] HRESULT borderSpacing([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_BORDERSPACING), displaybind, bindable] HRESULT borderSpacing([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_ORPHANS), displaybind, bindable] HRESULT orphans([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE6_ORPHANS), displaybind, bindable] HRESULT orphans([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_WIDOWS), displaybind, bindable] HRESULT widows([in] VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE6_WIDOWS), displaybind, bindable] HRESULT widows([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_PAGEBREAKINSIDE), displaybind, bindable] HRESULT pageBreakInside([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_PAGEBREAKINSIDE), displaybind, bindable] HRESULT pageBreakInside([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_EMPTYCELLS), displaybind, bindable] HRESULT emptyCells([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_EMPTYCELLS), displaybind, bindable] HRESULT emptyCells([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_MSBLOCKPROGRESSION), displaybind, bindable] HRESULT msBlockProgression([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_MSBLOCKPROGRESSION), displaybind, bindable] HRESULT msBlockProgression([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRULESTYLE6_QUOTES), displaybind, bindable] HRESULT quotes([in] BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_QUOTES), displaybind, bindable] HRESULT quotes([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyle
{
properties:
methods:
    [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable] void fontFamily(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable] BSTR fontFamily();
    [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable] void fontStyle(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable] BSTR fontStyle();
    [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable] void fontVariant(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable] BSTR fontVariant();
    [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable] void fontWeight(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable] BSTR fontWeight();
    [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable] void fontSize(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable] VARIANT fontSize();
    [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable] void font(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable] BSTR font();
    [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable] void color(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable] VARIANT color();
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable] void background(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable] BSTR background();
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable] void backgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable] VARIANT backgroundColor();
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable] void backgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable] BSTR backgroundImage();
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable] void backgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable] BSTR backgroundRepeat();
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] void backgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] BSTR backgroundAttachment();
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable] void backgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable] BSTR backgroundPosition();
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] void backgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] VARIANT backgroundPositionX();
    [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] void backgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] VARIANT backgroundPositionY();
    [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable] void wordSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable] VARIANT wordSpacing();
    [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable] void letterSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable] VARIANT letterSpacing();
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable] void textDecoration(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable] BSTR textDecoration();
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable] void textDecorationNone(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable] VARIANT_BOOL textDecorationNone();
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable] void textDecorationUnderline(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable] VARIANT_BOOL textDecorationUnderline();
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable] void textDecorationOverline(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable] VARIANT_BOOL textDecorationOverline();
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable] void textDecorationLineThrough(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable] VARIANT_BOOL textDecorationLineThrough();
    [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable] void textDecorationBlink(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable] VARIANT_BOOL textDecorationBlink();
    [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable] void verticalAlign(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable] VARIANT verticalAlign();
    [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable] void textTransform(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable] BSTR textTransform();
    [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable] void textAlign(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable] BSTR textAlign();
    [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable] void textIndent(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable] VARIANT textIndent();
    [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable] void lineHeight(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable] VARIANT lineHeight();
    [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable] void marginTop(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable] VARIANT marginTop();
    [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable] void marginRight(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable] VARIANT marginRight();
    [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable] void marginBottom(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable] VARIANT marginBottom();
    [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable] void marginLeft(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable] VARIANT marginLeft();
    [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable] void margin(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable] BSTR margin();
    [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable] void paddingTop(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable] VARIANT paddingTop();
    [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable] void paddingRight(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable] VARIANT paddingRight();
    [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable] void paddingBottom(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable] VARIANT paddingBottom();
    [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable] void paddingLeft(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable] VARIANT paddingLeft();
    [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable] void padding(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable] BSTR padding();
    [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable] void border(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable] BSTR border();
    [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable] void borderTop(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable] BSTR borderTop();
    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable] void borderRight(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable] BSTR borderRight();
    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable] void borderBottom(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable] BSTR borderBottom();
    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable] void borderLeft(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable] BSTR borderLeft();
    [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable] void borderColor(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable] BSTR borderColor();
    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable] void borderTopColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable] VARIANT borderTopColor();
    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable] void borderRightColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable] VARIANT borderRightColor();
    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] void borderBottomColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] VARIANT borderBottomColor();
    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable] void borderLeftColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable] VARIANT borderLeftColor();
    [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable] void borderWidth(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable] BSTR borderWidth();
    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable] void borderTopWidth(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable] VARIANT borderTopWidth();
    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable] void borderRightWidth(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable] VARIANT borderRightWidth();
    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] void borderBottomWidth(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] VARIANT borderBottomWidth();
    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable] void borderLeftWidth(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable] VARIANT borderLeftWidth();
    [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable] void borderStyle(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable] BSTR borderStyle();
    [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable] void borderTopStyle(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable] BSTR borderTopStyle();
    [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable] void borderRightStyle(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable] BSTR borderRightStyle();
    [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] void borderBottomStyle(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] BSTR borderBottomStyle();
    [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable] void borderLeftStyle(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable] BSTR borderLeftStyle();
    [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable] void width(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable] VARIANT width();
    [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable] void height(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable] VARIANT height();
    [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable] void styleFloat(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable] BSTR styleFloat();
    [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable] void clear(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable] BSTR clear();
    [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable] void display(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable] BSTR display();
    [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable] void visibility(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable] BSTR visibility();
    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable] void listStyleType(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable] BSTR listStyleType();
    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable] void listStylePosition(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable] BSTR listStylePosition();
    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable] void listStyleImage(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable] BSTR listStyleImage();
    [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable] void listStyle(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable] BSTR listStyle();
    [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable] void whiteSpace(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable] BSTR whiteSpace();
    [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable] void top(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable] VARIANT top();
    [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable] void left(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable] VARIANT left();
    [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable] void zIndex(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable] VARIANT zIndex();
    [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable] void overflow(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable] BSTR overflow();
    [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable] void pageBreakBefore(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable] BSTR pageBreakBefore();
    [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable] void pageBreakAfter(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable] BSTR pageBreakAfter();
    [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable] BSTR cssText();
    [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden] void pixelTop(long v);
    [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden] long pixelTop();
    [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden] void pixelLeft(long v);
    [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden] long pixelLeft();
    [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden] void pixelWidth(long v);
    [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden] long pixelWidth();
    [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden] void pixelHeight(long v);
    [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden] long pixelHeight();
    [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable] void posTop(float v);
    [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable] float posTop();
    [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable] void posLeft(float v);
    [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable] float posLeft();
    [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable] void posWidth(float v);
    [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable] float posWidth();
    [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable] void posHeight(float v);
    [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable] float posHeight();
    [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable] void cursor(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable] BSTR cursor();
    [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable] void clip(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable] BSTR clip();
    [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable] void filter(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable] BSTR filter();
    [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLSTYLE_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable] void tableLayout(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable] BSTR tableLayout();
    [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable] void borderCollapse(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable] BSTR borderCollapse();
    [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable] void direction(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable] BSTR direction();
    [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable] void behavior(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable] BSTR behavior();
    [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable] void position(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable] BSTR position();
    [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable] void unicodeBidi(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable] BSTR unicodeBidi();
    [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable] void bottom(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable] VARIANT bottom();
    [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable] void right(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable] VARIANT right();
    [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden] void pixelBottom(long v);
    [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden] long pixelBottom();
    [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden] void pixelRight(long v);
    [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden] long pixelRight();
    [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable] void posBottom(float v);
    [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable] float posBottom();
    [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable] void posRight(float v);
    [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable] float posRight();
    [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable] void imeMode(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable] BSTR imeMode();
    [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable] void rubyAlign(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable] BSTR rubyAlign();
    [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable] void rubyPosition(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable] BSTR rubyPosition();
    [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable] void rubyOverhang(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable] BSTR rubyOverhang();
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable] void layoutGridChar(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable] VARIANT layoutGridChar();
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable] void layoutGridLine(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable] VARIANT layoutGridLine();
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable] void layoutGridMode(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable] BSTR layoutGridMode();
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable] void layoutGridType(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable] BSTR layoutGridType();
    [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable] void layoutGrid(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable] BSTR layoutGrid();
    [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable] void wordBreak(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable] BSTR wordBreak();
    [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable] void lineBreak(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable] BSTR lineBreak();
    [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable] void textJustify(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable] BSTR textJustify();
    [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable] void textJustifyTrim(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable] BSTR textJustifyTrim();
    [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable] void textKashida(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable] VARIANT textKashida();
    [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable] void textAutospace(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable] BSTR textAutospace();
    [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable] void overflowX(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable] BSTR overflowX();
    [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable] void overflowY(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable] BSTR overflowY();
    [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable] void accelerator(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable] BSTR accelerator();
    [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable] void layoutFlow(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable] BSTR layoutFlow();
    [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable] void zoom(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable] VARIANT zoom();
    [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable] void wordWrap(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable] BSTR wordWrap();
    [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable] void textUnderlinePosition(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable] BSTR textUnderlinePosition();
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable] void scrollbarBaseColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable] VARIANT scrollbarBaseColor();
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable] void scrollbarFaceColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable] VARIANT scrollbarFaceColor();
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] void scrollbar3dLightColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] VARIANT scrollbar3dLightColor();
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable] void scrollbarShadowColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarShadowColor();
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] void scrollbarHighlightColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] VARIANT scrollbarHighlightColor();
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] void scrollbarDarkShadowColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarDarkShadowColor();
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable] void scrollbarArrowColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable] VARIANT scrollbarArrowColor();
    [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable] void scrollbarTrackColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable] VARIANT scrollbarTrackColor();
    [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable] void writingMode(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable] BSTR writingMode();
    [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable] void textAlignLast(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable] BSTR textAlignLast();
    [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable] void textKashidaSpace(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable] VARIANT textKashidaSpace();
    [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable] void textOverflow(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable] BSTR textOverflow();
    [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable] void minHeight(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable] VARIANT minHeight();
    [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable] void msInterpolationMode(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable] BSTR msInterpolationMode();
    [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable] void maxHeight(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable] VARIANT maxHeight();
    [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable] void minWidth(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable] VARIANT minWidth();
    [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable] void maxWidth(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable] VARIANT maxWidth();
    [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable] void content(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable] BSTR content();
    [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable] void captionSide(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable] BSTR captionSide();
    [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable] void counterIncrement(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable] BSTR counterIncrement();
    [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable] void counterReset(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable] BSTR counterReset();
    [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable] void outline(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable] BSTR outline();
    [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable] void outlineWidth(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable] VARIANT outlineWidth();
    [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable] void outlineStyle(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable] BSTR outlineStyle();
    [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable] void outlineColor(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable] VARIANT outlineColor();
    [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable] void boxSizing(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable] BSTR boxSizing();
    [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable] void borderSpacing(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable] BSTR borderSpacing();
    [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable] void orphans(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable] VARIANT orphans();
    [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable] void widows(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable] VARIANT widows();
    [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable] void pageBreakInside(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable] BSTR pageBreakInside();
    [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable] void emptyCells(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable] BSTR emptyCells();
    [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable] void msBlockProgression(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable] BSTR msBlockProgression();
    [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable] void quotes(BSTR v);
    [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable] BSTR quotes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyle
{
    [default]           dispinterface DispHTMLStyle;
                        interface IHTMLStyle;
                        interface IHTMLStyle2;
                        interface IHTMLStyle3;
                        interface IHTMLStyle4;
                        interface IHTMLStyle5;
                        interface IHTMLStyle6;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyle;")
[
    hidden,
    uuid(3050f55c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLRuleStyle
{
properties:
methods:
    [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), displaybind, bindable] void fontFamily(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), displaybind, bindable] BSTR fontFamily();
    [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), displaybind, bindable] void fontStyle(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), displaybind, bindable] BSTR fontStyle();
    [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), displaybind, bindable] void fontVariant(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), displaybind, bindable] BSTR fontVariant();
    [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), displaybind, bindable] void fontWeight(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), displaybind, bindable] BSTR fontWeight();
    [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), displaybind, bindable] void fontSize(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), displaybind, bindable] VARIANT fontSize();
    [propput, id(DISPID_IHTMLRULESTYLE_FONT), displaybind, bindable, nonbrowsable] void font(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FONT), displaybind, bindable, nonbrowsable] BSTR font();
    [propput, id(DISPID_IHTMLRULESTYLE_COLOR), displaybind, bindable] void color(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_COLOR), displaybind, bindable] VARIANT color();
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), displaybind, bindable, nonbrowsable] void background(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), displaybind, bindable, nonbrowsable] BSTR background();
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), displaybind, bindable] void backgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), displaybind, bindable] VARIANT backgroundColor();
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), displaybind, bindable] void backgroundImage(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), displaybind, bindable] BSTR backgroundImage();
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), displaybind, bindable] void backgroundRepeat(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), displaybind, bindable] BSTR backgroundRepeat();
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] void backgroundAttachment(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] BSTR backgroundAttachment();
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable] void backgroundPosition(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable] BSTR backgroundPosition();
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] void backgroundPositionX(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] VARIANT backgroundPositionX();
    [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] void backgroundPositionY(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] VARIANT backgroundPositionY();
    [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), displaybind, bindable] void wordSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), displaybind, bindable] VARIANT wordSpacing();
    [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), displaybind, bindable] void letterSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), displaybind, bindable] VARIANT letterSpacing();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), displaybind, bindable] void textDecoration(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), displaybind, bindable] BSTR textDecoration();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), displaybind, bindable] void textDecorationNone(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), displaybind, bindable] VARIANT_BOOL textDecorationNone();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable] void textDecorationUnderline(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable] VARIANT_BOOL textDecorationUnderline();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable] void textDecorationOverline(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable] VARIANT_BOOL textDecorationOverline();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable] void textDecorationLineThrough(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable] VARIANT_BOOL textDecorationLineThrough();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), displaybind, bindable] void textDecorationBlink(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), displaybind, bindable] VARIANT_BOOL textDecorationBlink();
    [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), displaybind, bindable] void verticalAlign(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), displaybind, bindable] VARIANT verticalAlign();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), displaybind, bindable] void textTransform(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), displaybind, bindable] BSTR textTransform();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), displaybind, bindable] void textAlign(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), displaybind, bindable] BSTR textAlign();
    [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), displaybind, bindable] void textIndent(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), displaybind, bindable] VARIANT textIndent();
    [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), displaybind, bindable] void lineHeight(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), displaybind, bindable] VARIANT lineHeight();
    [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), displaybind, bindable] void marginTop(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), displaybind, bindable] VARIANT marginTop();
    [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), displaybind, bindable] void marginRight(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), displaybind, bindable] VARIANT marginRight();
    [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), displaybind, bindable] void marginBottom(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), displaybind, bindable] VARIANT marginBottom();
    [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), displaybind, bindable] void marginLeft(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), displaybind, bindable] VARIANT marginLeft();
    [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), displaybind, bindable, nonbrowsable] void margin(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), displaybind, bindable, nonbrowsable] BSTR margin();
    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), displaybind, bindable] void paddingTop(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), displaybind, bindable] VARIANT paddingTop();
    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), displaybind, bindable] void paddingRight(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), displaybind, bindable] VARIANT paddingRight();
    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), displaybind, bindable] void paddingBottom(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), displaybind, bindable] VARIANT paddingBottom();
    [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), displaybind, bindable] void paddingLeft(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), displaybind, bindable] VARIANT paddingLeft();
    [propput, id(DISPID_IHTMLRULESTYLE_PADDING), displaybind, bindable, nonbrowsable] void padding(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_PADDING), displaybind, bindable, nonbrowsable] BSTR padding();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDER), displaybind, bindable, nonbrowsable] void border(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDER), displaybind, bindable, nonbrowsable] BSTR border();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), displaybind, bindable] void borderTop(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), displaybind, bindable] BSTR borderTop();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), displaybind, bindable] void borderRight(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), displaybind, bindable] BSTR borderRight();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), displaybind, bindable] void borderBottom(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), displaybind, bindable] BSTR borderBottom();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), displaybind, bindable] void borderLeft(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), displaybind, bindable] BSTR borderLeft();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), displaybind, bindable] void borderColor(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), displaybind, bindable] BSTR borderColor();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), displaybind, bindable] void borderTopColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), displaybind, bindable] VARIANT borderTopColor();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), displaybind, bindable] void borderRightColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), displaybind, bindable] VARIANT borderRightColor();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] void borderBottomColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] VARIANT borderBottomColor();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), displaybind, bindable] void borderLeftColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), displaybind, bindable] VARIANT borderLeftColor();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), displaybind, bindable] void borderWidth(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), displaybind, bindable] BSTR borderWidth();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), displaybind, bindable] void borderTopWidth(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), displaybind, bindable] VARIANT borderTopWidth();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), displaybind, bindable] void borderRightWidth(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), displaybind, bindable] VARIANT borderRightWidth();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] void borderBottomWidth(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] VARIANT borderBottomWidth();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), displaybind, bindable] void borderLeftWidth(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), displaybind, bindable] VARIANT borderLeftWidth();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), displaybind, bindable] void borderStyle(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), displaybind, bindable] BSTR borderStyle();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), displaybind, bindable] void borderTopStyle(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), displaybind, bindable] BSTR borderTopStyle();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), displaybind, bindable] void borderRightStyle(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), displaybind, bindable] BSTR borderRightStyle();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] void borderBottomStyle(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] BSTR borderBottomStyle();
    [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), displaybind, bindable] void borderLeftStyle(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), displaybind, bindable] BSTR borderLeftStyle();
    [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), displaybind, bindable] void width(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), displaybind, bindable] VARIANT width();
    [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), displaybind, bindable] void height(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), displaybind, bindable] VARIANT height();
    [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), displaybind, bindable] void styleFloat(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), displaybind, bindable] BSTR styleFloat();
    [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), displaybind, bindable] void clear(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), displaybind, bindable] BSTR clear();
    [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), displaybind, bindable] void display(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), displaybind, bindable] BSTR display();
    [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), displaybind, bindable] void visibility(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), displaybind, bindable] BSTR visibility();
    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), displaybind, bindable] void listStyleType(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), displaybind, bindable] BSTR listStyleType();
    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), displaybind, bindable] void listStylePosition(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), displaybind, bindable] BSTR listStylePosition();
    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), displaybind, bindable] void listStyleImage(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), displaybind, bindable] BSTR listStyleImage();
    [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable] void listStyle(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable] BSTR listStyle();
    [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), displaybind, bindable] void whiteSpace(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), displaybind, bindable] BSTR whiteSpace();
    [propput, id(DISPID_IHTMLRULESTYLE_TOP), displaybind, bindable] void top(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_TOP), displaybind, bindable] VARIANT top();
    [propput, id(DISPID_IHTMLRULESTYLE_LEFT), displaybind, bindable] void left(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_LEFT), displaybind, bindable] VARIANT left();
    [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), displaybind, bindable] void zIndex(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), displaybind, bindable] VARIANT zIndex();
    [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), displaybind, bindable] void overflow(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), displaybind, bindable] BSTR overflow();
    [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), displaybind, bindable] void pageBreakBefore(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), displaybind, bindable] BSTR pageBreakBefore();
    [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), displaybind, bindable] void pageBreakAfter(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), displaybind, bindable] BSTR pageBreakAfter();
    [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), displaybind, bindable, nonbrowsable] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), displaybind, bindable, nonbrowsable] BSTR cssText();
    [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), displaybind, bindable] void cursor(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), displaybind, bindable] BSTR cursor();
    [propput, id(DISPID_IHTMLRULESTYLE_CLIP), displaybind, bindable] void clip(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_CLIP), displaybind, bindable] BSTR clip();
    [propput, id(DISPID_IHTMLRULESTYLE_FILTER), displaybind, bindable] void filter(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE_FILTER), displaybind, bindable] BSTR filter();
    [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLRULESTYLE2_TABLELAYOUT), displaybind, bindable] void tableLayout(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TABLELAYOUT), displaybind, bindable] BSTR tableLayout();
    [propput, id(DISPID_IHTMLRULESTYLE2_BORDERCOLLAPSE), displaybind, bindable] void borderCollapse(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_BORDERCOLLAPSE), displaybind, bindable] BSTR borderCollapse();
    [propput, id(DISPID_IHTMLRULESTYLE2_DIRECTION), displaybind, bindable] void direction(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_DIRECTION), displaybind, bindable] BSTR direction();
    [propput, id(DISPID_IHTMLRULESTYLE2_BEHAVIOR), displaybind, bindable] void behavior(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_BEHAVIOR), displaybind, bindable] BSTR behavior();
    [propput, id(DISPID_IHTMLRULESTYLE2_POSITION), displaybind, bindable] void position(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_POSITION), displaybind, bindable] BSTR position();
    [propput, id(DISPID_IHTMLRULESTYLE2_UNICODEBIDI), displaybind, bindable] void unicodeBidi(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_UNICODEBIDI), displaybind, bindable] BSTR unicodeBidi();
    [propput, id(DISPID_IHTMLRULESTYLE2_BOTTOM), displaybind, bindable] void bottom(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_BOTTOM), displaybind, bindable] VARIANT bottom();
    [propput, id(DISPID_IHTMLRULESTYLE2_RIGHT), displaybind, bindable] void right(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_RIGHT), displaybind, bindable] VARIANT right();
    [propput, id(DISPID_IHTMLRULESTYLE2_PIXELBOTTOM), displaybind, bindable, hidden] void pixelBottom(long v);
    [propget, id(DISPID_IHTMLRULESTYLE2_PIXELBOTTOM), displaybind, bindable, hidden] long pixelBottom();
    [propput, id(DISPID_IHTMLRULESTYLE2_PIXELRIGHT), displaybind, bindable, hidden] void pixelRight(long v);
    [propget, id(DISPID_IHTMLRULESTYLE2_PIXELRIGHT), displaybind, bindable, hidden] long pixelRight();
    [propput, id(DISPID_IHTMLRULESTYLE2_POSBOTTOM), displaybind, bindable] void posBottom(float v);
    [propget, id(DISPID_IHTMLRULESTYLE2_POSBOTTOM), displaybind, bindable] float posBottom();
    [propput, id(DISPID_IHTMLRULESTYLE2_POSRIGHT), displaybind, bindable] void posRight(float v);
    [propget, id(DISPID_IHTMLRULESTYLE2_POSRIGHT), displaybind, bindable] float posRight();
    [propput, id(DISPID_IHTMLRULESTYLE2_IMEMODE), displaybind, bindable] void imeMode(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_IMEMODE), displaybind, bindable] BSTR imeMode();
    [propput, id(DISPID_IHTMLRULESTYLE2_RUBYALIGN), displaybind, bindable] void rubyAlign(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_RUBYALIGN), displaybind, bindable] BSTR rubyAlign();
    [propput, id(DISPID_IHTMLRULESTYLE2_RUBYPOSITION), displaybind, bindable] void rubyPosition(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_RUBYPOSITION), displaybind, bindable] BSTR rubyPosition();
    [propput, id(DISPID_IHTMLRULESTYLE2_RUBYOVERHANG), displaybind, bindable] void rubyOverhang(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_RUBYOVERHANG), displaybind, bindable] BSTR rubyOverhang();
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDCHAR), displaybind, bindable] void layoutGridChar(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDCHAR), displaybind, bindable] VARIANT layoutGridChar();
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDLINE), displaybind, bindable] void layoutGridLine(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDLINE), displaybind, bindable] VARIANT layoutGridLine();
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDMODE), displaybind, bindable] void layoutGridMode(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDMODE), displaybind, bindable] BSTR layoutGridMode();
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDTYPE), displaybind, bindable] void layoutGridType(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRIDTYPE), displaybind, bindable] BSTR layoutGridType();
    [propput, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable] void layoutGrid(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable] BSTR layoutGrid();
    [propput, id(DISPID_IHTMLRULESTYLE2_TEXTAUTOSPACE), displaybind, bindable] void textAutospace(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TEXTAUTOSPACE), displaybind, bindable] BSTR textAutospace();
    [propput, id(DISPID_IHTMLRULESTYLE2_WORDBREAK), displaybind, bindable] void wordBreak(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_WORDBREAK), displaybind, bindable] BSTR wordBreak();
    [propput, id(DISPID_IHTMLRULESTYLE2_LINEBREAK), displaybind, bindable] void lineBreak(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_LINEBREAK), displaybind, bindable] BSTR lineBreak();
    [propput, id(DISPID_IHTMLRULESTYLE2_TEXTJUSTIFY), displaybind, bindable] void textJustify(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TEXTJUSTIFY), displaybind, bindable] BSTR textJustify();
    [propput, id(DISPID_IHTMLRULESTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable] void textJustifyTrim(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable] BSTR textJustifyTrim();
    [propput, id(DISPID_IHTMLRULESTYLE2_TEXTKASHIDA), displaybind, bindable] void textKashida(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE2_TEXTKASHIDA), displaybind, bindable] VARIANT textKashida();
    [propput, id(DISPID_IHTMLRULESTYLE2_OVERFLOWX), displaybind, bindable] void overflowX(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_OVERFLOWX), displaybind, bindable] BSTR overflowX();
    [propput, id(DISPID_IHTMLRULESTYLE2_OVERFLOWY), displaybind, bindable] void overflowY(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_OVERFLOWY), displaybind, bindable] BSTR overflowY();
    [propput, id(DISPID_IHTMLRULESTYLE2_ACCELERATOR), displaybind, bindable] void accelerator(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE2_ACCELERATOR), displaybind, bindable] BSTR accelerator();
    [propput, id(DISPID_IHTMLRULESTYLE3_LAYOUTFLOW), displaybind, bindable] void layoutFlow(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_LAYOUTFLOW), displaybind, bindable] BSTR layoutFlow();
    [propput, id(DISPID_IHTMLRULESTYLE3_ZOOM), displaybind, bindable] void zoom(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_ZOOM), displaybind, bindable] VARIANT zoom();
    [propput, id(DISPID_IHTMLRULESTYLE3_WORDWRAP), displaybind, bindable] void wordWrap(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_WORDWRAP), displaybind, bindable] BSTR wordWrap();
    [propput, id(DISPID_IHTMLRULESTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable] void textUnderlinePosition(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable] BSTR textUnderlinePosition();
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARBASECOLOR), displaybind, bindable] void scrollbarBaseColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARBASECOLOR), displaybind, bindable] VARIANT scrollbarBaseColor();
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARFACECOLOR), displaybind, bindable] void scrollbarFaceColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARFACECOLOR), displaybind, bindable] VARIANT scrollbarFaceColor();
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] void scrollbar3dLightColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] VARIANT scrollbar3dLightColor();
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable] void scrollbarShadowColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarShadowColor();
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] void scrollbarHighlightColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] VARIANT scrollbarHighlightColor();
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] void scrollbarDarkShadowColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarDarkShadowColor();
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable] void scrollbarArrowColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable] VARIANT scrollbarArrowColor();
    [propput, id(DISPID_IHTMLRULESTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable] void scrollbarTrackColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable] VARIANT scrollbarTrackColor();
    [propput, id(DISPID_IHTMLRULESTYLE3_WRITINGMODE), displaybind, bindable] void writingMode(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_WRITINGMODE), displaybind, bindable] BSTR writingMode();
    [propput, id(DISPID_IHTMLRULESTYLE3_TEXTALIGNLAST), displaybind, bindable] void textAlignLast(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE3_TEXTALIGNLAST), displaybind, bindable] BSTR textAlignLast();
    [propput, id(DISPID_IHTMLRULESTYLE3_TEXTKASHIDASPACE), displaybind, bindable] void textKashidaSpace(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE3_TEXTKASHIDASPACE), displaybind, bindable] VARIANT textKashidaSpace();
    [propput, id(DISPID_IHTMLRULESTYLE4_TEXTOVERFLOW), displaybind, bindable] void textOverflow(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE4_TEXTOVERFLOW), displaybind, bindable] BSTR textOverflow();
    [propput, id(DISPID_IHTMLRULESTYLE4_MINHEIGHT), displaybind, bindable] void minHeight(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE4_MINHEIGHT), displaybind, bindable] VARIANT minHeight();
    [propput, id(DISPID_IHTMLRULESTYLE5_MSINTERPOLATIONMODE), displaybind, bindable] void msInterpolationMode(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE5_MSINTERPOLATIONMODE), displaybind, bindable] BSTR msInterpolationMode();
    [propput, id(DISPID_IHTMLRULESTYLE5_MAXHEIGHT), displaybind, bindable] void maxHeight(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE5_MAXHEIGHT), displaybind, bindable] VARIANT maxHeight();
    [propput, id(DISPID_IHTMLRULESTYLE5_MINWIDTH), displaybind, bindable] void minWidth(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE5_MINWIDTH), displaybind, bindable] VARIANT minWidth();
    [propput, id(DISPID_IHTMLRULESTYLE5_MAXWIDTH), displaybind, bindable] void maxWidth(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE5_MAXWIDTH), displaybind, bindable] VARIANT maxWidth();
    [propput, id(DISPID_IHTMLRULESTYLE6_CONTENT), displaybind, bindable] void content(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_CONTENT), displaybind, bindable] BSTR content();
    [propput, id(DISPID_IHTMLRULESTYLE6_CAPTIONSIDE), displaybind, bindable] void captionSide(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_CAPTIONSIDE), displaybind, bindable] BSTR captionSide();
    [propput, id(DISPID_IHTMLRULESTYLE6_COUNTERINCREMENT), displaybind, bindable] void counterIncrement(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_COUNTERINCREMENT), displaybind, bindable] BSTR counterIncrement();
    [propput, id(DISPID_IHTMLRULESTYLE6_COUNTERRESET), displaybind, bindable] void counterReset(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_COUNTERRESET), displaybind, bindable] BSTR counterReset();
    [propput, id(DISPID_IHTMLRULESTYLE6_OUTLINE), displaybind, bindable] void outline(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_OUTLINE), displaybind, bindable] BSTR outline();
    [propput, id(DISPID_IHTMLRULESTYLE6_OUTLINEWIDTH), displaybind, bindable] void outlineWidth(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE6_OUTLINEWIDTH), displaybind, bindable] VARIANT outlineWidth();
    [propput, id(DISPID_IHTMLRULESTYLE6_OUTLINESTYLE), displaybind, bindable] void outlineStyle(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_OUTLINESTYLE), displaybind, bindable] BSTR outlineStyle();
    [propput, id(DISPID_IHTMLRULESTYLE6_OUTLINECOLOR), displaybind, bindable] void outlineColor(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE6_OUTLINECOLOR), displaybind, bindable] VARIANT outlineColor();
    [propput, id(DISPID_IHTMLRULESTYLE6_BOXSIZING), displaybind, bindable] void boxSizing(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_BOXSIZING), displaybind, bindable] BSTR boxSizing();
    [propput, id(DISPID_IHTMLRULESTYLE6_BORDERSPACING), displaybind, bindable] void borderSpacing(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_BORDERSPACING), displaybind, bindable] BSTR borderSpacing();
    [propput, id(DISPID_IHTMLRULESTYLE6_ORPHANS), displaybind, bindable] void orphans(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE6_ORPHANS), displaybind, bindable] VARIANT orphans();
    [propput, id(DISPID_IHTMLRULESTYLE6_WIDOWS), displaybind, bindable] void widows(VARIANT v);
    [propget, id(DISPID_IHTMLRULESTYLE6_WIDOWS), displaybind, bindable] VARIANT widows();
    [propput, id(DISPID_IHTMLRULESTYLE6_PAGEBREAKINSIDE), displaybind, bindable] void pageBreakInside(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_PAGEBREAKINSIDE), displaybind, bindable] BSTR pageBreakInside();
    [propput, id(DISPID_IHTMLRULESTYLE6_EMPTYCELLS), displaybind, bindable] void emptyCells(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_EMPTYCELLS), displaybind, bindable] BSTR emptyCells();
    [propput, id(DISPID_IHTMLRULESTYLE6_MSBLOCKPROGRESSION), displaybind, bindable] void msBlockProgression(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_MSBLOCKPROGRESSION), displaybind, bindable] BSTR msBlockProgression();
    [propput, id(DISPID_IHTMLRULESTYLE6_QUOTES), displaybind, bindable] void quotes(BSTR v);
    [propget, id(DISPID_IHTMLRULESTYLE6_QUOTES), displaybind, bindable] BSTR quotes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f3d0-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLRuleStyle
{
    [default]           dispinterface DispHTMLRuleStyle;
                        interface IHTMLRuleStyle;
                        interface IHTMLRuleStyle2;
                        interface IHTMLRuleStyle3;
                        interface IHTMLRuleStyle4;
                        interface IHTMLRuleStyle5;
                        interface IHTMLRuleStyle6;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CRuleStyle;")
typedef enum _styleTextLineThroughStyle
{
    styleTextLineThroughStyleUndefined = 0,
    styleTextLineThroughStyleSingle = 1,
    styleTextLineThroughStyleDouble = 2,
    styleTextLineThroughStyle_Max = 2147483647L
} styleTextLineThroughStyle;

typedef enum _styleTextUnderlineStyle
{
    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 = 2147483647L
} styleTextUnderlineStyle;

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

typedef enum _styleDefaultTextSelection
{
    styleDefaultTextSelectionFalse = 0,
    styleDefaultTextSelectionTrue = 1,
    styleDefaultTextSelection_Max = 2147483647L
} styleDefaultTextSelection;

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

[
    odl,
    oleautomation,
    dual,
    uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRenderStyle : IDispatch
{
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable] HRESULT textLineThroughStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable] HRESULT textLineThroughStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable] HRESULT textUnderlineStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable] HRESULT textUnderlineStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable] HRESULT textEffect([in] BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable] HRESULT textEffect([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable] HRESULT textColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable] HRESULT textColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable] HRESULT textBackgroundColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable] HRESULT textBackgroundColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable] HRESULT textDecorationColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable] HRESULT textDecorationColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable] HRESULT renderingPriority([in] long v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable] HRESULT renderingPriority([retval, out] long * p);
    [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable] HRESULT defaultTextSelection([in] BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable] HRESULT defaultTextSelection([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([in] BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f58b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLRenderStyle
{
properties:
methods:
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable] void textLineThroughStyle(BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable] BSTR textLineThroughStyle();
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable] void textUnderlineStyle(BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable] BSTR textUnderlineStyle();
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable] void textEffect(BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable] BSTR textEffect();
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable] void textColor(VARIANT v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable] VARIANT textColor();
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable] void textBackgroundColor(VARIANT v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable] VARIANT textBackgroundColor();
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable] void textDecorationColor(VARIANT v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable] VARIANT textDecorationColor();
    [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable] void renderingPriority(long v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable] long renderingPriority();
    [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable] void defaultTextSelection(BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable] BSTR defaultTextSelection();
    [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable] void textDecoration(BSTR v);
    [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable] BSTR textDecoration();
};
[
    noncreatable,
    uuid(3050f6aa-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLRenderStyle
{
    [default]           dispinterface DispHTMLRenderStyle;
                        interface IHTMLRenderStyle;
};
cpp_quote("EXTERN_C const GUID CLSID_CRenderStyle;")
typedef enum _textDecoration
{
    textDecorationNone = 0,
    textDecorationUnderline = 1,
    textDecorationOverline = 2,
    textDecorationLineThrough = 3,
    textDecorationBlink = 4,
    textDecoration_Max = 2147483647L
} textDecoration;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCurrentStyle : IDispatch
{
    [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable] HRESULT position([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable] HRESULT styleFloat([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable] HRESULT color([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable] HRESULT backgroundColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable] HRESULT fontFamily([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable] HRESULT fontStyle([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden] HRESULT fontVariant([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable] HRESULT fontWeight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable] HRESULT fontSize([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable] HRESULT backgroundImage([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] HRESULT backgroundPositionX([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] HRESULT backgroundPositionY([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable] HRESULT backgroundRepeat([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable] HRESULT borderLeftColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable] HRESULT borderTopColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable] HRESULT borderRightColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] HRESULT borderBottomColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable] HRESULT borderTopStyle([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable] HRESULT borderRightStyle([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] HRESULT borderBottomStyle([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable] HRESULT borderLeftStyle([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable] HRESULT borderTopWidth([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable] HRESULT borderRightWidth([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] HRESULT borderBottomWidth([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable] HRESULT borderLeftWidth([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable] HRESULT left([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable] HRESULT top([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable] HRESULT width([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable] HRESULT height([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable] HRESULT paddingLeft([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable] HRESULT paddingTop([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable] HRESULT paddingRight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable] HRESULT paddingBottom([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable] HRESULT textAlign([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable] HRESULT textDecoration([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable] HRESULT display([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable] HRESULT visibility([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable] HRESULT zIndex([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable] HRESULT letterSpacing([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable] HRESULT lineHeight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable] HRESULT textIndent([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable] HRESULT verticalAlign([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] HRESULT backgroundAttachment([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable] HRESULT marginTop([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable] HRESULT marginRight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable] HRESULT marginBottom([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable] HRESULT marginLeft([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable] HRESULT clear([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable] HRESULT listStyleType([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable] HRESULT listStylePosition([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable] HRESULT listStyleImage([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable] HRESULT clipTop([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable] HRESULT clipRight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable] HRESULT clipBottom([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable] HRESULT clipLeft([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable] HRESULT overflow([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable] HRESULT pageBreakBefore([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable] HRESULT pageBreakAfter([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable] HRESULT cursor([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable] HRESULT tableLayout([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable] HRESULT borderCollapse([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable] HRESULT direction([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable] HRESULT behavior([retval, out] BSTR * p);
    [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags,[retval, out] VARIANT* AttributeValue);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable] HRESULT unicodeBidi([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable] HRESULT right([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable] HRESULT bottom([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable] HRESULT imeMode([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable] HRESULT rubyAlign([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable] HRESULT rubyPosition([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable] HRESULT rubyOverhang([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable] HRESULT textAutospace([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable] HRESULT lineBreak([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable] HRESULT wordBreak([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable] HRESULT textJustify([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable] HRESULT textJustifyTrim([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable] HRESULT textKashida([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable] HRESULT blockDirection([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable] HRESULT layoutGridChar([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable] HRESULT layoutGridLine([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable] HRESULT layoutGridMode([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable] HRESULT layoutGridType([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable] HRESULT borderStyle([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable] HRESULT borderColor([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable] HRESULT borderWidth([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable] HRESULT padding([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable] HRESULT margin([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable] HRESULT accelerator([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable] HRESULT overflowX([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable] HRESULT overflowY([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable] HRESULT textTransform([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCurrentStyle2 : IDispatch
{
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable] HRESULT layoutFlow([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable] HRESULT wordWrap([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable] HRESULT textUnderlinePosition([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable] HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable] HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable] HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable] HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable] HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable] HRESULT writingMode([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable] HRESULT zoom([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable] HRESULT filter([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable] HRESULT textAlignLast([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable] HRESULT textKashidaSpace([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable] HRESULT isBlock([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCurrentStyle3 : IDispatch
{
    [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable] HRESULT textOverflow([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable] HRESULT minHeight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable] HRESULT wordSpacing([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable] HRESULT whiteSpace([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCurrentStyle4 : IDispatch
{
    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable] HRESULT msInterpolationMode([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable] HRESULT maxHeight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable] HRESULT minWidth([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable] HRESULT maxWidth([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510481-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCurrentStyle5 : IDispatch
{
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_CAPTIONSIDE), displaybind, bindable] HRESULT captionSide([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_OUTLINE), displaybind, bindable] HRESULT outline([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_OUTLINEWIDTH), displaybind, bindable] HRESULT outlineWidth([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_OUTLINESTYLE), displaybind, bindable] HRESULT outlineStyle([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_OUTLINECOLOR), displaybind, bindable] HRESULT outlineColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_BOXSIZING), displaybind, bindable] HRESULT boxSizing([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_BORDERSPACING), displaybind, bindable] HRESULT borderSpacing([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_ORPHANS), displaybind, bindable] HRESULT orphans([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_WIDOWS), displaybind, bindable] HRESULT widows([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_PAGEBREAKINSIDE), displaybind, bindable] HRESULT pageBreakInside([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_EMPTYCELLS), displaybind, bindable] HRESULT emptyCells([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_MSBLOCKPROGRESSION), displaybind, bindable] HRESULT msBlockProgression([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_QUOTES), displaybind, bindable] HRESULT quotes([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCurrentStyle
{
properties:
methods:
    [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable] BSTR position();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable] BSTR styleFloat();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable] VARIANT color();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable] VARIANT backgroundColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable] BSTR fontFamily();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable] BSTR fontStyle();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden] BSTR fontVariant();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable] VARIANT fontWeight();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable] VARIANT fontSize();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable] BSTR backgroundImage();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable] VARIANT backgroundPositionX();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable] VARIANT backgroundPositionY();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable] BSTR backgroundRepeat();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable] VARIANT borderLeftColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable] VARIANT borderTopColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable] VARIANT borderRightColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable] VARIANT borderBottomColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable] BSTR borderTopStyle();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable] BSTR borderRightStyle();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable] BSTR borderBottomStyle();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable] BSTR borderLeftStyle();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable] VARIANT borderTopWidth();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable] VARIANT borderRightWidth();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable] VARIANT borderBottomWidth();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable] VARIANT borderLeftWidth();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable] VARIANT left();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable] VARIANT top();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable] VARIANT width();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable] VARIANT height();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable] VARIANT paddingLeft();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable] VARIANT paddingTop();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable] VARIANT paddingRight();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable] VARIANT paddingBottom();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable] BSTR textAlign();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable] BSTR textDecoration();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable] BSTR display();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable] BSTR visibility();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable] VARIANT zIndex();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable] VARIANT letterSpacing();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable] VARIANT lineHeight();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable] VARIANT textIndent();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable] VARIANT verticalAlign();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable] BSTR backgroundAttachment();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable] VARIANT marginTop();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable] VARIANT marginRight();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable] VARIANT marginBottom();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable] VARIANT marginLeft();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable] BSTR clear();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable] BSTR listStyleType();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable] BSTR listStylePosition();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable] BSTR listStyleImage();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable] VARIANT clipTop();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable] VARIANT clipRight();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable] VARIANT clipBottom();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable] VARIANT clipLeft();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable] BSTR overflow();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable] BSTR pageBreakBefore();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable] BSTR pageBreakAfter();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable] BSTR cursor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable] BSTR tableLayout();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable] BSTR borderCollapse();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable] BSTR direction();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable] BSTR behavior();
    [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable] BSTR unicodeBidi();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable] VARIANT right();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable] VARIANT bottom();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable] BSTR imeMode();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable] BSTR rubyAlign();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable] BSTR rubyPosition();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable] BSTR rubyOverhang();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable] BSTR textAutospace();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable] BSTR lineBreak();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable] BSTR wordBreak();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable] BSTR textJustify();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable] BSTR textJustifyTrim();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable] VARIANT textKashida();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable] BSTR blockDirection();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable] VARIANT layoutGridChar();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable] VARIANT layoutGridLine();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable] BSTR layoutGridMode();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable] BSTR layoutGridType();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable] BSTR borderStyle();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable] BSTR borderColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable] BSTR borderWidth();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable] BSTR padding();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable] BSTR margin();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable] BSTR accelerator();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable] BSTR overflowX();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable] BSTR overflowY();
    [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable] BSTR textTransform();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable] BSTR layoutFlow();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable] BSTR wordWrap();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable] BSTR textUnderlinePosition();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable] VARIANT_BOOL hasLayout();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable] VARIANT scrollbarBaseColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable] VARIANT scrollbarFaceColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable] VARIANT scrollbar3dLightColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarShadowColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable] VARIANT scrollbarHighlightColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable] VARIANT scrollbarDarkShadowColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable] VARIANT scrollbarArrowColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable] VARIANT scrollbarTrackColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable] BSTR writingMode();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable] VARIANT zoom();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable] BSTR filter();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable] BSTR textAlignLast();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable] VARIANT textKashidaSpace();
    [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable] VARIANT_BOOL isBlock();
    [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable] BSTR textOverflow();
    [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable] VARIANT minHeight();
    [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable] VARIANT wordSpacing();
    [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable] BSTR whiteSpace();
    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable] BSTR msInterpolationMode();
    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable] VARIANT maxHeight();
    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable] VARIANT minWidth();
    [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable] VARIANT maxWidth();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_CAPTIONSIDE), displaybind, bindable] BSTR captionSide();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_OUTLINE), displaybind, bindable] BSTR outline();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_OUTLINEWIDTH), displaybind, bindable] VARIANT outlineWidth();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_OUTLINESTYLE), displaybind, bindable] BSTR outlineStyle();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_OUTLINECOLOR), displaybind, bindable] VARIANT outlineColor();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_BOXSIZING), displaybind, bindable] BSTR boxSizing();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_BORDERSPACING), displaybind, bindable] BSTR borderSpacing();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_ORPHANS), displaybind, bindable] VARIANT orphans();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_WIDOWS), displaybind, bindable] VARIANT widows();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_PAGEBREAKINSIDE), displaybind, bindable] BSTR pageBreakInside();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_EMPTYCELLS), displaybind, bindable] BSTR emptyCells();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_MSBLOCKPROGRESSION), displaybind, bindable] BSTR msBlockProgression();
    [propget, id(DISPID_IHTMLCURRENTSTYLE5_QUOTES), displaybind, bindable] BSTR quotes();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCurrentStyle
{
    [default]           dispinterface DispHTMLCurrentStyle;
                        interface IHTMLCurrentStyle;
                        interface IHTMLCurrentStyle2;
                        interface IHTMLCurrentStyle3;
                        interface IHTMLCurrentStyle4;
                        interface IHTMLCurrentStyle5;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CCurrentStyle;")
interface IHTMLElement;
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRect : IDispatch
{
    [propput, id(DISPID_IHTMLRECT_LEFT)] HRESULT left([in] long v);
    [propget, id(DISPID_IHTMLRECT_LEFT)] HRESULT left([retval, out] long * p);
    [propput, id(DISPID_IHTMLRECT_TOP)] HRESULT top([in] long v);
    [propget, id(DISPID_IHTMLRECT_TOP)] HRESULT top([retval, out] long * p);
    [propput, id(DISPID_IHTMLRECT_RIGHT)] HRESULT right([in] long v);
    [propget, id(DISPID_IHTMLRECT_RIGHT)] HRESULT right([retval, out] long * p);
    [propput, id(DISPID_IHTMLRECT_BOTTOM)] HRESULT bottom([in] long v);
    [propget, id(DISPID_IHTMLRECT_BOTTOM)] HRESULT bottom([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLRectCollection : IDispatch
{
    [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLRECTCOLLECTION_ITEM)] HRESULT item([in] VARIANT* pvarIndex,[retval, out] VARIANT* pvarResult);
};
interface IHTMLElementCollection;
interface IHTMLElement2;
interface IHTMLAttributeCollection3;
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMNode : IDispatch
{
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] HRESULT nodeType([retval, out] long * p);
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] HRESULT parentNode([retval, out] IHTMLDOMNode* * p);
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] HRESULT hasChildNodes([retval, out] VARIANT_BOOL* fChildren);
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] HRESULT childNodes([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] HRESULT attributes([retval, out] IDispatch* * p);
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] HRESULT insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] HRESULT removeChild([in] IHTMLDOMNode* oldChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] HRESULT replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] HRESULT cloneNode([in] VARIANT_BOOL fDeep,[retval, out] IHTMLDOMNode** clonedNode);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] HRESULT removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep,[retval, out] IHTMLDOMNode** removed);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] HRESULT swapNode([in] IHTMLDOMNode* otherNode,[retval, out] IHTMLDOMNode** swappedNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] HRESULT replaceNode([in] IHTMLDOMNode* replacement,[retval, out] IHTMLDOMNode** replaced);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] HRESULT appendChild([in] IHTMLDOMNode* newChild,[retval, out] IHTMLDOMNode** node);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] HRESULT nodeName([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] HRESULT nodeValue([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] HRESULT nodeValue([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] HRESULT firstChild([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] HRESULT lastChild([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] HRESULT previousSibling([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] HRESULT nextSibling([retval, out] IHTMLDOMNode* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMNode2 : IDispatch
{
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] HRESULT ownerDocument([retval, out] IDispatch* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMAttribute : IDispatch
{
    [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)] HRESULT nodeName([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)] HRESULT nodeValue([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)] HRESULT nodeValue([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)] HRESULT specified([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMAttribute2 : IDispatch
{
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)] HRESULT value([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)] HRESULT expando([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)] HRESULT nodeType([retval, out] long * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)] HRESULT parentNode([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)] HRESULT childNodes([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)] HRESULT firstChild([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)] HRESULT lastChild([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)] HRESULT previousSibling([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)] HRESULT nextSibling([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)] HRESULT attributes([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)] HRESULT ownerDocument([retval, out] IDispatch* * p);
    [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)] HRESULT insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)] HRESULT replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)] HRESULT removeChild([in] IHTMLDOMNode* oldChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)] HRESULT appendChild([in] IHTMLDOMNode* newChild,[retval, out] IHTMLDOMNode** node);
    [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)] HRESULT hasChildNodes([retval, out] VARIANT_BOOL* fChildren);
    [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)] HRESULT cloneNode([in] VARIANT_BOOL fDeep,[retval, out] IHTMLDOMAttribute** clonedNode);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510468-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMAttribute3 : IDispatch
{
    [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)] HRESULT nodeValue([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)] HRESULT nodeValue([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)] HRESULT value([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)] HRESULT specified([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)] HRESULT ownerElement([retval, out] IHTMLElement2* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMTextNode : IDispatch
{
    [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)] HRESULT data([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)] HRESULT data([retval, out] BSTR * p);
    [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)] HRESULT toString([retval, out] BSTR* String);
    [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)] HRESULT splitText([in] long offset,[retval, out] IHTMLDOMNode** pRetNode);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMTextNode2 : IDispatch
{
    [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)] HRESULT substringData([in] long offset,[in] long Count,[retval, out] BSTR* pbstrsubString);
    [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)] HRESULT appendData([in] BSTR bstrstring);
    [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)] HRESULT insertData([in] long offset,[in] BSTR bstrstring);
    [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)] HRESULT deleteData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)] HRESULT replaceData([in] long offset,[in] long Count,[in] BSTR bstrstring);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMImplementation : IDispatch
{
    [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)] HRESULT hasFeature([in] BSTR bstrfeature,[optional, in] VARIANT version,[retval, out] VARIANT_BOOL* pfHasFeature);
};
[
    hidden,
    uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDOMAttribute
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)] VARIANT_BOOL specified();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)] BSTR name();
    [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)] void value(BSTR v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)] BSTR value();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)] VARIANT_BOOL expando();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)] IHTMLDOMNode* parentNode();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)] IDispatch* attributes();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)] IHTMLDOMAttribute* cloneNode([in] VARIANT_BOOL fDeep);
    [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)] void ie8_nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)] VARIANT ie8_nodeValue();
    [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)] void ie8_value(BSTR v);
    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)] BSTR ie8_value();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)] VARIANT_BOOL ie8_specified();
    [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)] IHTMLElement2* ownerElement();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f4b2-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDOMAttribute
{
    [default]           dispinterface DispHTMLDOMAttribute;
                        interface IHTMLDOMAttribute;
                        interface IHTMLDOMAttribute2;
                        interface IHTMLDOMAttribute3;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CAttribute;")
[
    hidden,
    uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDOMTextNode
{
properties:
methods:
    [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)] void data(BSTR v);
    [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)] BSTR data();
    [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)] BSTR toString();
    [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)] long length();
    [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)] IHTMLDOMNode* splitText([in] long offset);
    [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)] BSTR substringData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)] void appendData([in] BSTR bstrstring);
    [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)] void insertData([in] long offset,[in] BSTR bstrstring);
    [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)] void deleteData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)] void replaceData([in] long offset,[in] long Count,[in] BSTR bstrstring);
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDOMTextNode
{
    [default]           dispinterface DispHTMLDOMTextNode;
                        interface IHTMLDOMTextNode;
                        interface IHTMLDOMTextNode2;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMTextNode;")
[
    hidden,
    uuid(3050f58f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDOMImplementation
{
properties:
methods:
    [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)] VARIANT_BOOL hasFeature([in] BSTR bstrfeature,[optional, in] VARIANT version);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f80e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDOMImplementation
{
    [default]           dispinterface DispHTMLDOMImplementation;
                        interface IHTMLDOMImplementation;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMImplementation;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAttributeCollection : IDispatch
{
    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)] HRESULT item([optional, in] VARIANT* name,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAttributeCollection2 : IDispatch
{
    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)] HRESULT getNamedItem([in] BSTR bstrName,[retval, out] IHTMLDOMAttribute** newretNode);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)] HRESULT setNamedItem([in] IHTMLDOMAttribute* ppNode,[retval, out] IHTMLDOMAttribute** newretNode);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)] HRESULT removeNamedItem([in] BSTR bstrName,[retval, out] IHTMLDOMAttribute** newretNode);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAttributeCollection3 : IDispatch
{
    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)] HRESULT getNamedItem([in] BSTR bstrName,[retval, out] IHTMLDOMAttribute** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)] HRESULT setNamedItem([in] IHTMLDOMAttribute* pNodeIn,[retval, out] IHTMLDOMAttribute** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)] HRESULT removeNamedItem([in] BSTR bstrName,[retval, out] IHTMLDOMAttribute** ppNodeOut);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLDOMAttribute** ppNodeOut);
    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)] HRESULT length([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMChildrenCollection : IDispatch
{
    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] IDispatch** ppItem);
};
[
    hidden,
    uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLAttributeCollection
{
properties:
methods:
    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)] IDispatch* item([optional, in] VARIANT* name);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)] IHTMLDOMAttribute* getNamedItem([in] BSTR bstrName);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)] IHTMLDOMAttribute* setNamedItem([in] IHTMLDOMAttribute* ppNode);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)] IHTMLDOMAttribute* removeNamedItem([in] BSTR bstrName);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)] IHTMLDOMAttribute* ie8_getNamedItem([in] BSTR bstrName);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)] IHTMLDOMAttribute* ie8_setNamedItem([in] IHTMLDOMAttribute* pNodeIn);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)] IHTMLDOMAttribute* ie8_removeNamedItem([in] BSTR bstrName);
    [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)] IHTMLDOMAttribute* ie8_item([in] long index);
    [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)] long ie8_length();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f4cc-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLAttributeCollection
{
    [default]           dispinterface DispHTMLAttributeCollection;
                        interface IHTMLAttributeCollection;
                        interface IHTMLAttributeCollection2;
                        interface IHTMLAttributeCollection3;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CAttrCollectionator;")
[
    hidden,
    uuid(3050f59b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispStaticNodeList
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)] IDispatch* item([in] long index);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(30510467-98b5-11cf-bb82-00aa00bdce0b)
]
coclass StaticNodeList
{
    [default]           dispinterface DispStaticNodeList;
                        interface IHTMLDOMChildrenCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CStaticNodeList;")
[
    hidden,
    uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispDOMChildrenCollection
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)] IDispatch* item([in] long index);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f5aa-98b5-11cf-bb82-00aa00bdce0b)
]
coclass DOMChildrenCollection
{
    [default]           dispinterface DispDOMChildrenCollection;
                        interface IHTMLDOMChildrenCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CDOMChildrenCollection;")
[
    hidden,
    uuid(3050f59f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLElementEvents3
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS3_ONONLINE)] void ononline([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS3_ONOFFLINE)] void onoffline([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
};
typedef enum _htmlListType
{
    htmlListTypeNotSet = 0,
    htmlListTypeLargeAlpha = 1,
    htmlListTypeSmallAlpha = 2,
    htmlListTypeLargeRoman = 3,
    htmlListTypeSmallRoman = 4,
    htmlListTypeNumbers = 5,
    htmlListTypeDisc = 6,
    htmlListTypeCircle = 7,
    htmlListTypeSquare = 8,
    htmlListType_Max = 2147483647L
} htmlListType;

typedef enum _htmlMethod
{
    htmlMethodNotSet = 0,
    htmlMethodGet = 1,
    htmlMethodPost = 2,
    htmlMethod_Max = 2147483647L
} htmlMethod;

typedef enum _htmlWrap
{
    htmlWrapOff = 1,
    htmlWrapSoft = 2,
    htmlWrapHard = 3,
    htmlWrap_Max = 2147483647L
} htmlWrap;

typedef enum _htmlDir
{
    htmlDirNotSet = 0,
    htmlDirLeftToRight = 1,
    htmlDirRightToLeft = 2,
    htmlDir_Max = 2147483647L
} htmlDir;

typedef enum _htmlEditable
{
    htmlEditableInherit = 0,
    htmlEditableTrue = 1,
    htmlEditableFalse = 2,
    htmlEditable_Max = 2147483647L
} htmlEditable;

typedef enum _htmlInput
{
    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 = 2147483647L
} htmlInput;

typedef enum _htmlEncoding
{
    htmlEncodingURL = 0,
    htmlEncodingMultipart = 1,
    htmlEncodingText = 2,
    htmlEncoding_Max = 2147483647L
} htmlEncoding;

typedef enum _htmlAdjacency
{
    htmlAdjacencyBeforeBegin = 1,
    htmlAdjacencyAfterBegin = 2,
    htmlAdjacencyBeforeEnd = 3,
    htmlAdjacencyAfterEnd = 4,
    htmlAdjacency_Max = 2147483647L
} htmlAdjacency;

typedef enum _htmlTabIndex
{
    htmlTabIndexNotSet = -32768,
    htmlTabIndex_Max = 2147483647L
} htmlTabIndex;

typedef enum _htmlComponent
{
    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 = 2147483647L
} htmlComponent;

typedef enum _htmlApplyLocation
{
    htmlApplyLocationInside = 0,
    htmlApplyLocationOutside = 1,
    htmlApplyLocation_Max = 2147483647L
} htmlApplyLocation;

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

interface IHTMLEventObj;
interface IHTMLElementCollection;
interface IHTMLFiltersCollection;
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1ff-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElement : IDispatch
{
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] HRESULT setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags,[retval, out] VARIANT* AttributeValue);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] HRESULT removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags,[retval, out] VARIANT_BOOL* pfSuccess);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] HRESULT className([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] HRESULT className([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] HRESULT id([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] HRESULT id([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] HRESULT tagName([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] HRESULT parentElement([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] HRESULT style([retval, out] IHTMLStyle* * p);
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] HRESULT onhelp([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] HRESULT onhelp([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] HRESULT onclick([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] HRESULT onclick([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] HRESULT ondblclick([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] HRESULT ondblclick([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] HRESULT onkeydown([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] HRESULT onkeydown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] HRESULT onkeyup([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] HRESULT onkeyup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] HRESULT onkeypress([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] HRESULT onkeypress([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] HRESULT onmouseout([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] HRESULT onmouseout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] HRESULT onmouseover([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] HRESULT onmouseover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] HRESULT onmousemove([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] HRESULT onmousemove([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] HRESULT onmousedown([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] HRESULT onmousedown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] HRESULT onmouseup([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] HRESULT onmouseup([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] HRESULT document([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] HRESULT title([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] HRESULT title([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] HRESULT language([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] HRESULT language([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] HRESULT onselectstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] HRESULT onselectstart([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] HRESULT scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] HRESULT contains([in] IHTMLElement* pChild,[retval, out] VARIANT_BOOL* pfResult);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] HRESULT sourceIndex([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] HRESULT recordNumber([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_LANG)] HRESULT lang([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] HRESULT lang([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] HRESULT offsetLeft([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] HRESULT offsetTop([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] HRESULT offsetWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] HRESULT offsetHeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] HRESULT offsetParent([retval, out] IHTMLElement* * p);
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] HRESULT innerHTML([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] HRESULT innerHTML([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] HRESULT innerText([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] HRESULT innerText([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] HRESULT outerHTML([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] HRESULT outerHTML([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] HRESULT outerText([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] HRESULT outerText([retval, out] BSTR * p);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] HRESULT insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] HRESULT insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] HRESULT parentTextEdit([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] HRESULT isTextEdit([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLELEMENT_CLICK)] HRESULT click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] HRESULT filters([retval, out] IHTMLFiltersCollection* * p);
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] HRESULT ondragstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] HRESULT ondragstart([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT_TOSTRING)] HRESULT toString([retval, out] BSTR* String);
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] HRESULT onbeforeupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] HRESULT onbeforeupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] HRESULT onafterupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] HRESULT onafterupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] HRESULT onerrorupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] HRESULT onerrorupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] HRESULT onrowexit([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] HRESULT onrowexit([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] HRESULT onrowenter([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] HRESULT onrowenter([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] HRESULT ondatasetchanged([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] HRESULT ondatasetchanged([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] HRESULT ondataavailable([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] HRESULT ondataavailable([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] HRESULT ondatasetcomplete([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] HRESULT ondatasetcomplete([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] HRESULT onfilterchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] HRESULT onfilterchange([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] HRESULT children([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLELEMENT_ALL)] HRESULT all([retval, out] IDispatch* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElement2 : IDispatch
{
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] HRESULT scopeName([retval, out] BSTR * p);
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] HRESULT releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] HRESULT onlosecapture([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] HRESULT onlosecapture([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] HRESULT componentFromPoint([in] long x,[in] long y,[retval, out] BSTR* component);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] HRESULT doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] HRESULT onscroll([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] HRESULT onscroll([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] HRESULT ondrag([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] HRESULT ondrag([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] HRESULT ondragend([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] HRESULT ondragend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] HRESULT ondragenter([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] HRESULT ondragenter([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] HRESULT ondragover([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] HRESULT ondragover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] HRESULT ondragleave([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] HRESULT ondragleave([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] HRESULT ondrop([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] HRESULT ondrop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] HRESULT onbeforecut([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] HRESULT onbeforecut([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] HRESULT oncut([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] HRESULT oncut([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] HRESULT onbeforecopy([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] HRESULT onbeforecopy([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] HRESULT oncopy([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] HRESULT oncopy([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] HRESULT onbeforepaste([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] HRESULT onbeforepaste([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] HRESULT onpaste([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] HRESULT onpaste([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] HRESULT currentStyle([retval, out] IHTMLCurrentStyle* * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] HRESULT onpropertychange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] HRESULT onpropertychange([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] HRESULT getClientRects([retval, out] IHTMLRectCollection** pRectCol);
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] HRESULT getBoundingClientRect([retval, out] IHTMLRect** pRect);
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] HRESULT setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] HRESULT getExpression([in] BSTR propname,[retval, out] VARIANT* expression);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] HRESULT removeExpression([in] BSTR propname,[retval, out] VARIANT_BOOL* pfSuccess);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] HRESULT tabIndex([in] short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] HRESULT tabIndex([retval, out] short * p);
    [id(DISPID_IHTMLELEMENT2_FOCUS)] HRESULT focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] HRESULT accessKey([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] HRESULT accessKey([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] HRESULT onblur([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] HRESULT onblur([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] HRESULT onfocus([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] HRESULT onfocus([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] HRESULT onresize([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] HRESULT onresize([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT2_BLUR)] HRESULT blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] HRESULT addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] HRESULT removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] HRESULT clientHeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] HRESULT clientWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] HRESULT clientTop([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] HRESULT clientLeft([retval, out] long * p);
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] HRESULT attachEvent([in] BSTR event,[in] IDispatch* pDisp,[retval, out] VARIANT_BOOL* pfResult);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] HRESULT detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] HRESULT readyState([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] HRESULT onrowsdelete([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] HRESULT onrowsdelete([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] HRESULT onrowsinserted([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] HRESULT onrowsinserted([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] HRESULT oncellchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] HRESULT oncellchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] HRESULT dir([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] HRESULT dir([retval, out] BSTR * p);
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] HRESULT createControlRange([retval, out] IDispatch** range);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] HRESULT scrollHeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] HRESULT scrollWidth([retval, out] long * p);
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] HRESULT scrollTop([in] long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] HRESULT scrollTop([retval, out] long * p);
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] HRESULT scrollLeft([in] long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] HRESULT scrollLeft([retval, out] long * p);
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] HRESULT clearAttributes();
    [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)] HRESULT mergeAttributes([in] IHTMLElement* mergeThis);
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] HRESULT oncontextmenu([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] HRESULT oncontextmenu([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] HRESULT insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement,[retval, out] IHTMLElement** inserted);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] HRESULT applyElement([in] IHTMLElement* apply,[in] BSTR where,[retval, out] IHTMLElement** applied);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] HRESULT getAdjacentText([in] BSTR where,[retval, out] BSTR* text);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] HRESULT replaceAdjacentText([in] BSTR where,[in] BSTR newText,[retval, out] BSTR* oldText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] HRESULT canHaveChildren([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] HRESULT addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory,[retval, out] long* pCookie);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] HRESULT removeBehavior([in] long cookie,[retval, out] VARIANT_BOOL* pfResult);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] HRESULT runtimeStyle([retval, out] IHTMLStyle* * p);
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] HRESULT behaviorUrns([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] HRESULT tagUrn([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] HRESULT tagUrn([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] HRESULT onbeforeeditfocus([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] HRESULT onbeforeeditfocus([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] HRESULT readyStateValue([retval, out] long * p);
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] HRESULT getElementsByTagName([in] BSTR v,[retval, out] IHTMLElementCollection** pelColl);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElement3 : IDispatch
{
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] HRESULT onlayoutcomplete([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] HRESULT onlayoutcomplete([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] HRESULT onpage([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] HRESULT onpage([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] HRESULT inflateBlock([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] HRESULT onbeforedeactivate([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] HRESULT onbeforedeactivate([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] HRESULT contentEditable([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] HRESULT contentEditable([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] HRESULT hideFocus([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] HRESULT onmove([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] HRESULT onmove([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] HRESULT oncontrolselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] HRESULT oncontrolselect([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] HRESULT fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject,[retval, out] VARIANT_BOOL* pfCancelled);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] HRESULT onresizestart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] HRESULT onresizestart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] HRESULT onresizeend([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] HRESULT onresizeend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] HRESULT onmovestart([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] HRESULT onmovestart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] HRESULT onmoveend([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] HRESULT onmoveend([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] HRESULT onmouseenter([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] HRESULT onmouseenter([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] HRESULT onmouseleave([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] HRESULT onmouseleave([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] HRESULT onactivate([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] HRESULT onactivate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] HRESULT ondeactivate([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] HRESULT ondeactivate([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out] VARIANT_BOOL* pfRet);
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] HRESULT glyphMode([retval, out] LONG * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElement4 : IDispatch
{
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] HRESULT onmousewheel([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] HRESULT onmousewheel([retval, out] VARIANT * p);
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] HRESULT normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] HRESULT getAttributeNode([in] BSTR bstrname,[retval, out] IHTMLDOMAttribute** ppAttribute);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] HRESULT setAttributeNode([in] IHTMLDOMAttribute* pattr,[retval, out] IHTMLDOMAttribute** ppretAttribute);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] HRESULT removeAttributeNode([in] IHTMLDOMAttribute* pattr,[retval, out] IHTMLDOMAttribute** ppretAttribute);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] HRESULT onbeforeactivate([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] HRESULT onbeforeactivate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] HRESULT onfocusin([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] HRESULT onfocusin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] HRESULT onfocusout([in] VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] HRESULT onfocusout([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510463-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementSelector : IDispatch
{
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] HRESULT querySelector([in] BSTR v,[retval, out] IHTMLElement** pel);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] HRESULT querySelectorAll([in] BSTR v,[retval, out] IHTMLDOMChildrenCollection** pel);
};
[
    object,
    pointer_default(unique),
    uuid(3050f669-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElementRender : IUnknown
{
    [] HRESULT DrawToDC([in] HDC hDC);
    [] HRESULT SetDocumentPrinter([in] BSTR bstrPrinterName,[in] HDC hDC);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLUniqueName : IDispatch
{
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] HRESULT uniqueNumber([retval, out] long * p);
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] HRESULT uniqueID([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051045d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElement5 : IDispatch
{
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] HRESULT getAttributeNode([in] BSTR bstrname,[retval, out] IHTMLDOMAttribute2** ppretAttribute);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] HRESULT setAttributeNode([in] IHTMLDOMAttribute2* pattr,[retval, out] IHTMLDOMAttribute2** ppretAttribute);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] HRESULT removeAttributeNode([in] IHTMLDOMAttribute2* pattr,[retval, out] IHTMLDOMAttribute2** ppretAttribute);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] HRESULT hasAttribute([in] BSTR name,[retval, out] VARIANT_BOOL* pfHasAttribute);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] HRESULT role([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] HRESULT role([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] HRESULT ariaBusy([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] HRESULT ariaBusy([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] HRESULT ariaChecked([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] HRESULT ariaChecked([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] HRESULT ariaDisabled([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] HRESULT ariaDisabled([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] HRESULT ariaExpanded([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] HRESULT ariaExpanded([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] HRESULT ariaHaspopup([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] HRESULT ariaHaspopup([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] HRESULT ariaHidden([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] HRESULT ariaHidden([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] HRESULT ariaInvalid([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] HRESULT ariaInvalid([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] HRESULT ariaMultiselectable([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] HRESULT ariaMultiselectable([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] HRESULT ariaPressed([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] HRESULT ariaPressed([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] HRESULT ariaReadonly([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] HRESULT ariaReadonly([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] HRESULT ariaRequired([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] HRESULT ariaRequired([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] HRESULT ariaSecret([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] HRESULT ariaSecret([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] HRESULT ariaSelected([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] HRESULT ariaSelected([retval, out] BSTR * p);
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR strAttributeName,[retval, out] VARIANT* AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] HRESULT setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] HRESULT removeAttribute([in] BSTR strAttributeName,[retval, out] VARIANT_BOOL* pfSuccess);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] HRESULT attributes([retval, out] IHTMLAttributeCollection3* * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] HRESULT ariaValuenow([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] HRESULT ariaValuenow([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] HRESULT ariaPosinset([in] short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] HRESULT ariaPosinset([retval, out] short * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] HRESULT ariaSetsize([in] short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] HRESULT ariaSetsize([retval, out] short * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] HRESULT ariaLevel([in] short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] HRESULT ariaLevel([retval, out] short * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] HRESULT ariaValuemin([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] HRESULT ariaValuemin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] HRESULT ariaValuemax([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] HRESULT ariaValuemax([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] HRESULT ariaControls([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] HRESULT ariaControls([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] HRESULT ariaDescribedby([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] HRESULT ariaDescribedby([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] HRESULT ariaFlowto([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] HRESULT ariaFlowto([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] HRESULT ariaLabelledby([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] HRESULT ariaLabelledby([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] HRESULT ariaActivedescendant([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] HRESULT ariaActivedescendant([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] HRESULT ariaOwns([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] HRESULT ariaOwns([retval, out] BSTR * p);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] HRESULT hasAttributes([retval, out] VARIANT_BOOL* pfHasAttributes);
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] HRESULT ariaLive([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] HRESULT ariaLive([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] HRESULT ariaRelevant([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] HRESULT ariaRelevant([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDatabinding : IDispatch
{
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] HRESULT dataFld([in] BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] HRESULT dataFld([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] HRESULT dataSrc([in] BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] HRESULT dataSrc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] HRESULT dataFormatAs([in] BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] HRESULT dataFormatAs([retval, out] BSTR * p);
};
interface IHTMLDocument;
[
    odl,
    oleautomation,
    dual,
    uuid(3050f6c9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElementDefaults : IDispatch
{
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_STYLE), nonbrowsable] HRESULT style([retval, out] IHTMLStyle* * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_TABSTOP)] HRESULT tabStop([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_TABSTOP)] HRESULT tabStop([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWINHERITSTYLE)] HRESULT viewInheritStyle([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWINHERITSTYLE)] HRESULT viewInheritStyle([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWMASTERTAB)] HRESULT viewMasterTab([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWMASTERTAB)] HRESULT viewMasterTab([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_SCROLLSEGMENTX), displaybind, bindable] HRESULT scrollSegmentX([in] long v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_SCROLLSEGMENTX), displaybind, bindable] HRESULT scrollSegmentX([retval, out] long * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_SCROLLSEGMENTY), displaybind, bindable] HRESULT scrollSegmentY([in] long v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_SCROLLSEGMENTY), displaybind, bindable] HRESULT scrollSegmentY([retval, out] long * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_ISMULTILINE)] HRESULT isMultiLine([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_ISMULTILINE)] HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_CONTENTEDITABLE)] HRESULT contentEditable([in] BSTR v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_CONTENTEDITABLE)] HRESULT contentEditable([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_CANHAVEHTML)] HRESULT canHaveHTML([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_CANHAVEHTML)] HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
    [propputref, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWLINK)] HRESULT viewLink([in] IHTMLDocument* v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWLINK)] HRESULT viewLink([retval, out] IHTMLDocument* * p);
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_FROZEN)] HRESULT frozen([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_FROZEN)] HRESULT frozen([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f58c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDefaults
{
properties:
methods:
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_TABSTOP)] void tabStop(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_TABSTOP)] VARIANT_BOOL tabStop();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWINHERITSTYLE)] void viewInheritStyle(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWINHERITSTYLE)] VARIANT_BOOL viewInheritStyle();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWMASTERTAB)] void viewMasterTab(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWMASTERTAB)] VARIANT_BOOL viewMasterTab();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_SCROLLSEGMENTX), displaybind, bindable] void scrollSegmentX(long v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_SCROLLSEGMENTX), displaybind, bindable] long scrollSegmentX();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_SCROLLSEGMENTY), displaybind, bindable] void scrollSegmentY(long v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_SCROLLSEGMENTY), displaybind, bindable] long scrollSegmentY();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_ISMULTILINE)] void isMultiLine(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_CONTENTEDITABLE)] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_CONTENTEDITABLE)] BSTR contentEditable();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_CANHAVEHTML)] void canHaveHTML(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propputref, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWLINK)] void viewLink(IHTMLDocument* v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_VIEWLINK)] IHTMLDocument* viewLink();
    [propput, id(DISPID_IHTMLELEMENTDEFAULTS_FROZEN)] void frozen(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENTDEFAULTS_FROZEN)] VARIANT_BOOL frozen();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f6c8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDefaults
{
    [default]           dispinterface DispHTMLDefaults;
                        interface IHTMLElementDefaults;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CDefaults;")
interface IHTMLEventObj;
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4fd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTCDefaultDispatch : IDispatch
{
    [propget, id(DISPID_IHTCDEFAULTDISPATCH_ELEMENT)] HRESULT element([retval, out] IHTMLElement* * p);
    [id(DISPID_IHTCDEFAULTDISPATCH_CREATEEVENTOBJECT)] HRESULT createEventObject([retval, out] IHTMLEventObj** eventObj);
    [propget, id(DISPID_IHTCDEFAULTDISPATCH_DEFAULTS)] HRESULT defaults([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTCDEFAULTDISPATCH_DOCUMENT)] HRESULT document([retval, out] IDispatch* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5df-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTCPropertyBehavior : IDispatch
{
    [id(DISPID_IHTCPROPERTYBEHAVIOR_FIRECHANGE)] HRESULT fireChange();
    [propput, id(DISPID_IHTCPROPERTYBEHAVIOR_VALUE)] HRESULT value([in] VARIANT v);
    [propget, id(DISPID_IHTCPROPERTYBEHAVIOR_VALUE)] HRESULT value([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f631-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTCMethodBehavior : IDispatch
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4ff-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTCEventBehavior : IDispatch
{
    [id(DISPID_IHTCEVENTBEHAVIOR_FIRE)] HRESULT fire([in] IHTMLEventObj* pvar);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5f4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTCAttachBehavior : IDispatch
{
    [id(DISPID_IHTCATTACHBEHAVIOR_FIREEVENT)] HRESULT fireEvent([in] IDispatch* evt);
    [id(DISPID_IHTCATTACHBEHAVIOR_DETACHEVENT)] HRESULT detachEvent();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f7eb-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTCAttachBehavior2 : IDispatch
{
    [id(DISPID_IHTCATTACHBEHAVIOR2_FIREEVENT)] HRESULT fireEvent([in] VARIANT evt);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5dc-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTCDescBehavior : IDispatch
{
    [propget, id(DISPID_IHTCDESCBEHAVIOR_URN), bindable] HRESULT urn([retval, out] BSTR * p);
    [propget, id(DISPID_IHTCDESCBEHAVIOR_NAME), bindable] HRESULT name([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f573-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTCDefaultDispatch
{
properties:
methods:
    [propget, id(DISPID_IHTCDEFAULTDISPATCH_ELEMENT)] IHTMLElement* element();
    [id(DISPID_IHTCDEFAULTDISPATCH_CREATEEVENTOBJECT)] IHTMLEventObj* createEventObject();
    [propget, id(DISPID_IHTCDEFAULTDISPATCH_DEFAULTS)] IDispatch* defaults();
    [propget, id(DISPID_IHTCDEFAULTDISPATCH_DOCUMENT)] IDispatch* document();
};
[
    noncreatable,
    uuid(3050f4fc-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTCDefaultDispatch
{
    [default]           dispinterface DispHTCDefaultDispatch;
                        interface IHTCDefaultDispatch;
};
cpp_quote("EXTERN_C const GUID CLSID_CHtmlComponentDD;")
[
    hidden,
    uuid(3050f57f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTCPropertyBehavior
{
properties:
methods:
    [id(DISPID_IHTCPROPERTYBEHAVIOR_FIRECHANGE)] void fireChange();
    [propput, id(DISPID_IHTCPROPERTYBEHAVIOR_VALUE)] void value(VARIANT v);
    [propget, id(DISPID_IHTCPROPERTYBEHAVIOR_VALUE)] VARIANT value();
};
[
    noncreatable,
    uuid(3050f5de-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTCPropertyBehavior
{
    [default]           dispinterface DispHTCPropertyBehavior;
                        interface IHTCPropertyBehavior;
};
cpp_quote("EXTERN_C const GUID CLSID_CHtmlComponentProperty;")
[
    hidden,
    uuid(3050f587-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTCMethodBehavior
{
properties:
methods:
};
[
    noncreatable,
    uuid(3050f630-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTCMethodBehavior
{
    [default]           dispinterface DispHTCMethodBehavior;
                        interface IHTCMethodBehavior;
};
cpp_quote("EXTERN_C const GUID CLSID_CHtmlComponentMethod;")
[
    hidden,
    uuid(3050f574-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTCEventBehavior
{
properties:
methods:
    [id(DISPID_IHTCEVENTBEHAVIOR_FIRE)] void fire([in] IHTMLEventObj* pvar);
};
[
    noncreatable,
    uuid(3050f4fe-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTCEventBehavior
{
    [default]           dispinterface DispHTCEventBehavior;
                        interface IHTCEventBehavior;
};
cpp_quote("EXTERN_C const GUID CLSID_CHtmlComponentEvent;")
[
    hidden,
    uuid(3050f583-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTCAttachBehavior
{
properties:
methods:
    [id(DISPID_IHTCATTACHBEHAVIOR2_FIREEVENT)] void fireEvent([in] VARIANT evt);
    [id(DISPID_IHTCATTACHBEHAVIOR_DETACHEVENT)] void detachEvent();
};
[
    noncreatable,
    uuid(3050f5f5-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTCAttachBehavior
{
    [default]           dispinterface DispHTCAttachBehavior;
                        interface IHTCAttachBehavior2;
                        interface IHTCAttachBehavior;
};
cpp_quote("EXTERN_C const GUID CLSID_CHtmlComponentAttach;")
[
    hidden,
    uuid(3050f57e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTCDescBehavior
{
properties:
methods:
    [propget, id(DISPID_IHTCDESCBEHAVIOR_URN), bindable] BSTR urn();
    [propget, id(DISPID_IHTCDESCBEHAVIOR_NAME), bindable] BSTR name();
};
[
    noncreatable,
    uuid(3050f5dd-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTCDescBehavior
{
    [default]           dispinterface DispHTCDescBehavior;
                        interface IHTCDescBehavior;
};
cpp_quote("EXTERN_C const GUID CLSID_CHtmlComponentDesc;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5e2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLUrnCollection : IDispatch
{
    [propget, id(DISPID_IHTMLURNCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLURNCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] BSTR* ppUrn);
};
[
    hidden,
    uuid(3050f551-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLUrnCollection
{
properties:
methods:
    [propget, id(DISPID_IHTMLURNCOLLECTION_LENGTH)] long length();
    [id(DISPID_IHTMLURNCOLLECTION_ITEM)] BSTR item([in] long index);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f580-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLUrnCollection
{
    [default]           dispinterface DispHTMLUrnCollection;
                        interface IHTMLUrnCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CPeerUrnCollection;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLGenericElement : IDispatch
{
    [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden] HRESULT recordset([retval, out] IDispatch* * p);
    [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)] HRESULT namedRecordset([in] BSTR dataMember,[optional, in] VARIANT* hierarchy,[retval, out] IDispatch** ppRecordset);
};
[
    hidden,
    uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLGenericElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden] IDispatch* recordset();
    [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)] IDispatch* namedRecordset([in] BSTR dataMember,[optional, in] VARIANT* hierarchy);
};
[
    noncreatable,
    uuid(3050f4b8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLGenericElement
{
    [default]           dispinterface DispHTMLGenericElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLGenericElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CGenericElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f357-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetRule : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)] HRESULT selectorText([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)] HRESULT selectorText([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable] HRESULT style([retval, out] IHTMLRuleStyle* * p);
    [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)] HRESULT readOnly([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2e5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetRulesCollection : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLStyleSheetRule** ppHTMLStyleSheetRule);
};
[
    hidden,
    uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheetRule
{
properties:
methods:
    [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)] void selectorText(BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)] BSTR selectorText();
    [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable] IHTMLRuleStyle* style();
    [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)] VARIANT_BOOL readOnly();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetRule
{
    [default]           dispinterface DispHTMLStyleSheetRule;
                        interface IHTMLStyleSheetRule;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyleSheetRule;")
[
    hidden,
    uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheetRulesCollection
{
properties:
methods:
    [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)] long length();
    [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)] IHTMLStyleSheetRule* item([in] long index);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetRulesCollection
{
    [default]           dispinterface DispHTMLStyleSheetRulesCollection;
                        interface IHTMLStyleSheetRulesCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyleSheetRuleArray;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetPage : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)] HRESULT selector([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)] HRESULT pseudoClass([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetPagesCollection : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLStyleSheetPage** ppHTMLStyleSheetPage);
};
[
    hidden,
    uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheetPage
{
properties:
methods:
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)] BSTR selector();
    [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)] BSTR pseudoClass();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetPage
{
    [default]           dispinterface DispHTMLStyleSheetPage;
                        interface IHTMLStyleSheetPage;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyleSheetPage;")
[
    hidden,
    uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheetPagesCollection
{
properties:
methods:
    [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)] long length();
    [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)] IHTMLStyleSheetPage* item([in] long index);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetPagesCollection
{
    [default]           dispinterface DispHTMLStyleSheetPagesCollection;
                        interface IHTMLStyleSheetPagesCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyleSheetPageArray;")
interface IHTMLStyleSheetsCollection;
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2e3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheet : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)] HRESULT title([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)] HRESULT title([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)] HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet* * p);
    [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)] HRESULT owningElement([retval, out] IHTMLElement* * p);
    [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)] HRESULT readOnly([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)] HRESULT imports([retval, out] IHTMLStyleSheetsCollection* * p);
    [propput, id(DISPID_IHTMLSTYLESHEET_HREF)] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET_HREF)] HRESULT href([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEET_ID)] HRESULT id([retval, out] BSTR * p);
    [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)] HRESULT addImport([in] BSTR bstrURL,[defaultvalue(-1), in] long lIndex,[retval, out] long* plIndex);
    [id(DISPID_IHTMLSTYLESHEET_ADDRULE)] HRESULT addRule([in] BSTR bstrSelector,[in] BSTR bstrStyle,[defaultvalue(-1), in] long lIndex,[retval, out] long* plNewIndex);
    [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)] HRESULT removeImport([in] long lIndex);
    [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)] HRESULT removeRule([in] long lIndex);
    [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)] HRESULT media([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)] HRESULT media([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)] HRESULT cssText([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)] HRESULT cssText([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEET_RULES)] HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheet2 : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)] HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection* * p);
    [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)] HRESULT addPageRule([in] BSTR bstrSelector,[in] BSTR bstrStyle,[defaultvalue(-1), in] long lIndex,[retval, out] long* plNewIndex);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510496-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheet3 : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLESHEET3_IE8_HREF)] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET3_IE8_HREF)] HRESULT href([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLESHEET3_ISALTERNATE)] HRESULT isAlternate([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLSTYLESHEET3_ISPREFALTERNATE)] HRESULT isPrefAlternate([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheet
{
properties:
methods:
    [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)] void title(BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)] BSTR title();
    [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)] IHTMLStyleSheet* parentStyleSheet();
    [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)] IHTMLElement* owningElement();
    [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)] VARIANT_BOOL readOnly();
    [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)] IHTMLStyleSheetsCollection* imports();
    [propput, id(DISPID_IHTMLSTYLESHEET_HREF)] void href(BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET_HREF)] BSTR href();
    [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)] BSTR type();
    [propget, id(DISPID_IHTMLSTYLESHEET_ID)] BSTR id();
    [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)] long addImport([in] BSTR bstrURL,[defaultvalue(-1), in] long lIndex);
    [id(DISPID_IHTMLSTYLESHEET_ADDRULE)] long addRule([in] BSTR bstrSelector,[in] BSTR bstrStyle,[defaultvalue(-1), in] long lIndex);
    [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)] void removeImport([in] long lIndex);
    [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)] void removeRule([in] long lIndex);
    [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)] void media(BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)] BSTR media();
    [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)] void cssText(BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)] BSTR cssText();
    [propget, id(DISPID_IHTMLSTYLESHEET_RULES)] IHTMLStyleSheetRulesCollection* rules();
    [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)] IHTMLStyleSheetPagesCollection* pages();
    [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)] long addPageRule([in] BSTR bstrSelector,[in] BSTR bstrStyle,[defaultvalue(-1), in] long lIndex);
    [propput, id(DISPID_IHTMLSTYLESHEET3_IE8_HREF)] void ie8_href(BSTR v);
    [propget, id(DISPID_IHTMLSTYLESHEET3_IE8_HREF)] BSTR ie8_href();
    [propget, id(DISPID_IHTMLSTYLESHEET3_ISALTERNATE)] VARIANT_BOOL isAlternate();
    [propget, id(DISPID_IHTMLSTYLESHEET3_ISPREFALTERNATE)] VARIANT_BOOL isPrefAlternate();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheet
{
    [default]           dispinterface DispHTMLStyleSheet;
                        interface IHTMLStyleSheet;
                        interface IHTMLStyleSheet2;
                        interface IHTMLStyleSheet3;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyleSheet;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f37e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleSheetsCollection : IDispatch
{
    [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)] HRESULT item([in] VARIANT* pvarIndex,[retval, out] VARIANT* pvarResult);
};
[
    hidden,
    uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleSheetsCollection
{
properties:
methods:
    [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)] VARIANT item([in] VARIANT* pvarIndex);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleSheetsCollection
{
    [default]           dispinterface DispHTMLStyleSheetsCollection;
                        interface IHTMLStyleSheetsCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyleSheetArray;")
[
    hidden,
    uuid(3050f61d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLLinkElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLLINKELEMENTEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLLINKELEMENTEVENTS2_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f3cc-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLLinkElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLLINKELEMENTEVENTS_ONLOAD)] void onload();
    [id(DISPID_HTMLLINKELEMENTEVENTS_ONERROR)] void onerror();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f205-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLinkElement : IDispatch
{
    [propput, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable] HRESULT href([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable] HRESULT rel([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable] HRESULT rel([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable] HRESULT rev([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable] HRESULT rev([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLLINKELEMENT_READYSTATE)] HRESULT readyState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLINKELEMENT_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLLINKELEMENT_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLLINKELEMENT_STYLESHEET)] HRESULT styleSheet([retval, out] IHTMLStyleSheet* * p);
    [propput, id(DISPID_IHTMLLINKELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLLINKELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable] HRESULT media([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable] HRESULT media([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4e5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLinkElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable] HRESULT target([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable] HRESULT target([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f81e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLinkElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable] HRESULT charset([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable] HRESULT charset([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable] HRESULT hreflang([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable] HRESULT hreflang([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051043a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLinkElement4 : IDispatch
{
    [propput, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)] HRESULT href([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f524-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLLinkElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable] void href(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable] BSTR href();
    [propput, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable] void rel(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable] BSTR rel();
    [propput, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable] void rev(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable] BSTR rev();
    [propput, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable] BSTR type();
    [propput, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable] VARIANT onerror();
    [propget, id(DISPID_IHTMLLINKELEMENT_STYLESHEET)] IHTMLStyleSheet* styleSheet();
    [propput, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable] void media(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable] BSTR media();
    [propput, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable] void target(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable] BSTR target();
    [propput, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable] void charset(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable] BSTR charset();
    [propput, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable] void hreflang(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable] BSTR hreflang();
    [propput, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)] void ie8_href(BSTR v);
    [propget, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)] BSTR ie8_href();
};
[
    noncreatable,
    uuid(3050f277-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLLinkElement
{
    [default]           dispinterface DispHTMLLinkElement;
    [source, default]   dispinterface HTMLLinkElementEvents;
    [source]            dispinterface HTMLLinkElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLLinkElement;
                        interface IHTMLLinkElement2;
                        interface IHTMLLinkElement3;
                        interface IHTMLLinkElement4;
};
cpp_quote("EXTERN_C const GUID CLSID_CLinkElement;")
typedef enum _htmlUnit
{
    htmlUnitCharacter = 1,
    htmlUnitWord = 2,
    htmlUnitSentence = 3,
    htmlUnitTextEdit = 6,
    htmlUnit_Max = 2147483647L
} htmlUnit;

typedef enum _htmlEndPoints
{
    htmlEndPointsStartToStart = 1,
    htmlEndPointsStartToEnd = 2,
    htmlEndPointsEndToStart = 3,
    htmlEndPointsEndToEnd = 4,
    htmlEndPoints_Max = 2147483647L
} htmlEndPoints;

typedef enum _htmlDirection
{
    htmlDirectionForward = 99999,
    htmlDirectionBackward = -99999,
    htmlDirection_Max = 2147483647L
} htmlDirection;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTxtRange : IDispatch
{
    [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)] HRESULT htmlText([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTXTRANGE_TEXT)] HRESULT text([in] BSTR v);
    [propget, id(DISPID_IHTMLTXTRANGE_TEXT)] HRESULT text([retval, out] BSTR * p);
    [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)] HRESULT parentElement([retval, out] IHTMLElement** parent);
    [id(DISPID_IHTMLTXTRANGE_DUPLICATE)] HRESULT duplicate([retval, out] IHTMLTxtRange** Duplicate);
    [id(DISPID_IHTMLTXTRANGE_INRANGE)] HRESULT inRange([in] IHTMLTxtRange* Range,[retval, out] VARIANT_BOOL* InRange);
    [id(DISPID_IHTMLTXTRANGE_ISEQUAL)] HRESULT isEqual([in] IHTMLTxtRange* Range,[retval, out] VARIANT_BOOL* IsEqual);
    [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)] HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
    [id(DISPID_IHTMLTXTRANGE_COLLAPSE)] HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
    [id(DISPID_IHTMLTXTRANGE_EXPAND)] HRESULT expand([in] BSTR Unit,[retval, out] VARIANT_BOOL* Success);
    [id(DISPID_IHTMLTXTRANGE_MOVE)] HRESULT move([in] BSTR Unit,[defaultvalue(1), in] long Count,[retval, out] long* ActualCount);
    [id(DISPID_IHTMLTXTRANGE_MOVESTART)] HRESULT moveStart([in] BSTR Unit,[defaultvalue(1), in] long Count,[retval, out] long* ActualCount);
    [id(DISPID_IHTMLTXTRANGE_MOVEEND)] HRESULT moveEnd([in] BSTR Unit,[defaultvalue(1), in] long Count,[retval, out] long* ActualCount);
    [id(DISPID_IHTMLTXTRANGE_SELECT)] HRESULT select();
    [id(DISPID_IHTMLTXTRANGE_PASTEHTML)] HRESULT pasteHTML([in] BSTR html);
    [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)] HRESULT moveToElementText([in] IHTMLElement* element);
    [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)] HRESULT setEndPoint([in] BSTR how,[in] IHTMLTxtRange* SourceRange);
    [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)] HRESULT compareEndPoints([in] BSTR how,[in] IHTMLTxtRange* SourceRange,[retval, out] long* ret);
    [id(DISPID_IHTMLTXTRANGE_FINDTEXT)] HRESULT findText([in] BSTR String,[defaultvalue(1073741823), in] long count,[defaultvalue(0), in] long Flags,[retval, out] VARIANT_BOOL* Success);
    [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)] HRESULT moveToPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)] HRESULT getBookmark([retval, out] BSTR* Boolmark);
    [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)] HRESULT moveToBookmark([in] BSTR Bookmark,[retval, out] VARIANT_BOOL* Success);
    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)] HRESULT queryCommandSupported([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)] HRESULT queryCommandEnabled([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)] HRESULT queryCommandState([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)] HRESULT queryCommandIndeterm([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)] HRESULT queryCommandText([in] BSTR cmdID,[retval, out] BSTR* pcmdText);
    [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)] HRESULT queryCommandValue([in] BSTR cmdID,[retval, out] VARIANT* pcmdValue);
    [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)] HRESULT execCommand([in] BSTR cmdID,[defaultvalue(0), in] VARIANT_BOOL showUI,[optional, in] VARIANT value,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)] HRESULT execCommandShowHelp([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f40b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTextRangeMetrics : IDispatch
{
    [propget, id(DISPID_IHTMLTEXTRANGEMETRICS_OFFSETTOP)] HRESULT offsetTop([retval, out] long * p);
    [propget, id(DISPID_IHTMLTEXTRANGEMETRICS_OFFSETLEFT)] HRESULT offsetLeft([retval, out] long * p);
    [propget, id(DISPID_IHTMLTEXTRANGEMETRICS_BOUNDINGTOP)] HRESULT boundingTop([retval, out] long * p);
    [propget, id(DISPID_IHTMLTEXTRANGEMETRICS_BOUNDINGLEFT)] HRESULT boundingLeft([retval, out] long * p);
    [propget, id(DISPID_IHTMLTEXTRANGEMETRICS_BOUNDINGWIDTH)] HRESULT boundingWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLTEXTRANGEMETRICS_BOUNDINGHEIGHT)] HRESULT boundingHeight([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4a6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTextRangeMetrics2 : IDispatch
{
    [id(DISPID_IHTMLTEXTRANGEMETRICS2_GETCLIENTRECTS)] HRESULT getClientRects([retval, out] IHTMLRectCollection** pRectCol);
    [id(DISPID_IHTMLTEXTRANGEMETRICS2_GETBOUNDINGCLIENTRECT)] HRESULT getBoundingClientRect([retval, out] IHTMLRect** pRect);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f7ed-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTxtRangeCollection : IDispatch
{
    [propget, id(DISPID_IHTMLTXTRANGECOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLTXTRANGECOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLTXTRANGECOLLECTION_ITEM)] HRESULT item([in] VARIANT* pvarIndex,[retval, out] VARIANT* pvarResult);
};
[
    hidden,
    uuid(3050f614-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLFormElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)] VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)] VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f364-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLFormElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)] VARIANT_BOOL onsubmit();
    [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)] VARIANT_BOOL onreset();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1f7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFormElement : IDispatch
{
    [propput, id(DISPID_IHTMLFORMELEMENT_ACTION), displaybind, bindable] HRESULT action([in] BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_ACTION), displaybind, bindable] HRESULT action([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFORMELEMENT_DIR), displaybind, bindable] HRESULT dir([in] BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_DIR), displaybind, bindable] HRESULT dir([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING), displaybind, bindable] HRESULT encoding([in] BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING), displaybind, bindable] HRESULT encoding([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFORMELEMENT_METHOD), displaybind, bindable] HRESULT method([in] BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_METHOD), displaybind, bindable] HRESULT method([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)] HRESULT elements([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLFORMELEMENT_TARGET), displaybind, bindable] HRESULT target([in] BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_TARGET), displaybind, bindable] HRESULT target([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFORMELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT), displaybind, bindable] HRESULT onsubmit([in] VARIANT v);
    [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT), displaybind, bindable] HRESULT onsubmit([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET), displaybind, bindable] HRESULT onreset([in] VARIANT v);
    [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET), displaybind, bindable] HRESULT onreset([retval, out] VARIANT * p);
    [id(DISPID_IHTMLFORMELEMENT_SUBMIT)] HRESULT submit();
    [id(DISPID_IHTMLFORMELEMENT_RESET)] HRESULT reset();
    [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)] HRESULT length([in] long v);
    [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLFORMELEMENT_ITEM)] HRESULT item([optional, in] VARIANT name,[optional, in] VARIANT index,[retval, out] IDispatch** pdisp);
    [id(DISPID_IHTMLFORMELEMENT_TAGS)] HRESULT tags([in] VARIANT tagName,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4f6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFormElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLFORMELEMENT2_ACCEPTCHARSET), displaybind, bindable] HRESULT acceptCharset([in] BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT2_ACCEPTCHARSET), displaybind, bindable] HRESULT acceptCharset([retval, out] BSTR * p);
    [id(DISPID_IHTMLFORMELEMENT2_URNS)] HRESULT urns([in] VARIANT urn,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f836-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFormElement3 : IDispatch
{
    [id(DISPID_IHTMLFORMELEMENT3_NAMEDITEM)] HRESULT namedItem([in] BSTR name,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f645-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSubmitData : IDispatch
{
    [id(DISPID_IHTMLSUBMITDATA_APPENDNAMEVALUEPAIR)] HRESULT appendNameValuePair([defaultvalue(""), in] BSTR name,[defaultvalue(""), in] BSTR value);
    [id(DISPID_IHTMLSUBMITDATA_APPENDNAMEFILEPAIR)] HRESULT appendNameFilePair([defaultvalue(""), in] BSTR name,[defaultvalue(""), in] BSTR filename);
    [id(DISPID_IHTMLSUBMITDATA_APPENDITEMSEPARATOR)] HRESULT appendItemSeparator();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051042c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFormElement4 : IDispatch
{
    [propput, id(DISPID_IHTMLFORMELEMENT4_IE8_ACTION), displaybind, bindable] HRESULT action([in] BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT4_IE8_ACTION), displaybind, bindable] HRESULT action([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f510-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLFormElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLFORMELEMENT_ACTION), displaybind, bindable] void action(BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_ACTION), displaybind, bindable] BSTR action();
    [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING), displaybind, bindable] void encoding(BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING), displaybind, bindable] BSTR encoding();
    [propput, id(DISPID_IHTMLFORMELEMENT_METHOD), displaybind, bindable] void method(BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_METHOD), displaybind, bindable] BSTR method();
    [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)] IDispatch* elements();
    [propput, id(DISPID_IHTMLFORMELEMENT_TARGET), displaybind, bindable] void target(BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_TARGET), displaybind, bindable] BSTR target();
    [propput, id(DISPID_IHTMLFORMELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT), displaybind, bindable] void onsubmit(VARIANT v);
    [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT), displaybind, bindable] VARIANT onsubmit();
    [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET), displaybind, bindable] void onreset(VARIANT v);
    [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET), displaybind, bindable] VARIANT onreset();
    [id(DISPID_IHTMLFORMELEMENT_SUBMIT)] void submit();
    [id(DISPID_IHTMLFORMELEMENT_RESET)] void reset();
    [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)] void length(long v);
    [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)] long length();
    [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLFORMELEMENT_ITEM)] IDispatch* item([optional, in] VARIANT name,[optional, in] VARIANT index);
    [id(DISPID_IHTMLFORMELEMENT_TAGS)] IDispatch* tags([in] VARIANT tagName);
    [propput, id(DISPID_IHTMLFORMELEMENT2_ACCEPTCHARSET), displaybind, bindable] void acceptCharset(BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT2_ACCEPTCHARSET), displaybind, bindable] BSTR acceptCharset();
    [id(DISPID_IHTMLFORMELEMENT2_URNS)] IDispatch* urns([in] VARIANT urn);
    [id(DISPID_IHTMLFORMELEMENT3_NAMEDITEM)] IDispatch* namedItem([in] BSTR name);
    [id(DISPID_IHTMLSUBMITDATA_APPENDNAMEVALUEPAIR)] void appendNameValuePair([defaultvalue(""), in] BSTR name,[defaultvalue(""), in] BSTR value);
    [id(DISPID_IHTMLSUBMITDATA_APPENDNAMEFILEPAIR)] void appendNameFilePair([defaultvalue(""), in] BSTR name,[defaultvalue(""), in] BSTR filename);
    [id(DISPID_IHTMLSUBMITDATA_APPENDITEMSEPARATOR)] void appendItemSeparator();
    [propput, id(DISPID_IHTMLFORMELEMENT4_IE8_ACTION), displaybind, bindable] void ie8_action(BSTR v);
    [propget, id(DISPID_IHTMLFORMELEMENT4_IE8_ACTION), displaybind, bindable] BSTR ie8_action();
};
[
    noncreatable,
    uuid(3050f251-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLFormElement
{
    [default]           dispinterface DispHTMLFormElement;
    [source, default]   dispinterface HTMLFormElementEvents;
    [source]            dispinterface HTMLFormElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLFormElement;
                        interface IHTMLFormElement2;
                        interface IHTMLFormElement3;
                        interface IHTMLSubmitData;
                        interface IHTMLFormElement4;
};
cpp_quote("EXTERN_C const GUID CLSID_CFormElement;")
[
    hidden,
    uuid(3050f612-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLControlElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f4ea-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLControlElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
};
typedef enum _htmlStart
{
    htmlStartfileopen = 0,
    htmlStartmouseover = 1,
    htmlStart_Max = 2147483647L
} htmlStart;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLControlElement : IDispatch
{
    [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] HRESULT tabIndex([in] short v);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] HRESULT tabIndex([retval, out] short * p);
    [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)] HRESULT focus();
    [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] HRESULT accessKey([in] BSTR v);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] HRESULT accessKey([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] HRESULT onblur([in] VARIANT v);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] HRESULT onblur([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] HRESULT onfocus([in] VARIANT v);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] HRESULT onfocus([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] HRESULT onresize([in] VARIANT v);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] HRESULT onresize([retval, out] VARIANT * p);
    [id(DISPID_IHTMLCONTROLELEMENT_BLUR)] HRESULT blur();
    [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)] HRESULT addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)] HRESULT removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable] HRESULT clientHeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable] HRESULT clientWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable] HRESULT clientTop([retval, out] long * p);
    [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable] HRESULT clientLeft([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f218-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTextElement : IDispatch
{
};
[
    hidden,
    uuid(3050f537-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTextElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f26a-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTextElement
{
    [default]           dispinterface DispHTMLTextElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLTextElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CTextElement;")
[
    hidden,
    uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLTextContainerEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)] void onchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)] void onselect([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(1FF6AA72-5842-11cf-A707-00AA00C0098D)
]
dispinterface HTMLTextContainerEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)] void onchange();
    [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)] void onselect();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTextContainer : IDispatch
{
    [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)] HRESULT createControlRange([retval, out] IDispatch** range);
    [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable] HRESULT scrollHeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable] HRESULT scrollWidth([retval, out] long * p);
    [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable] HRESULT scrollTop([in] long v);
    [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable] HRESULT scrollTop([retval, out] long * p);
    [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable] HRESULT scrollLeft([in] long v);
    [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable] HRESULT scrollLeft([retval, out] long * p);
    [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable] HRESULT onscroll([in] VARIANT v);
    [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable] HRESULT onscroll([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f29c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLControlRange : IDispatch
{
    [id(DISPID_IHTMLCONTROLRANGE_SELECT)] HRESULT select();
    [id(DISPID_IHTMLCONTROLRANGE_ADD)] HRESULT add([in] IHTMLControlElement* item);
    [id(DISPID_IHTMLCONTROLRANGE_REMOVE)] HRESULT remove([in] long index);
    [id(DISPID_IHTMLCONTROLRANGE_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLElement** pdisp);
    [id(DISPID_IHTMLCONTROLRANGE_SCROLLINTOVIEW)] HRESULT scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLCONTROLRANGE_QUERYCOMMANDSUPPORTED)] HRESULT queryCommandSupported([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLCONTROLRANGE_QUERYCOMMANDENABLED)] HRESULT queryCommandEnabled([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLCONTROLRANGE_QUERYCOMMANDSTATE)] HRESULT queryCommandState([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLCONTROLRANGE_QUERYCOMMANDINDETERM)] HRESULT queryCommandIndeterm([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLCONTROLRANGE_QUERYCOMMANDTEXT)] HRESULT queryCommandText([in] BSTR cmdID,[retval, out] BSTR* pcmdText);
    [id(DISPID_IHTMLCONTROLRANGE_QUERYCOMMANDVALUE)] HRESULT queryCommandValue([in] BSTR cmdID,[retval, out] VARIANT* pcmdValue);
    [id(DISPID_IHTMLCONTROLRANGE_EXECCOMMAND)] HRESULT execCommand([in] BSTR cmdID,[defaultvalue(0), in] VARIANT_BOOL showUI,[optional, in] VARIANT value,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLCONTROLRANGE_EXECCOMMANDSHOWHELP)] HRESULT execCommandShowHelp([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLCONTROLRANGE_COMMONPARENTELEMENT)] HRESULT commonParentElement([retval, out] IHTMLElement** parent);
    [propget, id(DISPID_IHTMLCONTROLRANGE_LENGTH)] HRESULT length([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f65e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLControlRange2 : IDispatch
{
    [id(DISPID_IHTMLCONTROLRANGE2_ADDELEMENT)] HRESULT addElement([in] IHTMLElement* item);
};
[
    hidden,
    uuid(3050f616-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLImgEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLIMGEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLIMGEVENTS2_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLIMGEVENTS2_ONABORT)] void onabort([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f25b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLImgEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLIMGEVENTS_ONLOAD)] void onload();
    [id(DISPID_HTMLIMGEVENTS_ONERROR)] void onerror();
    [id(DISPID_HTMLIMGEVENTS_ONABORT)] void onabort();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f240-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLImgElement : IDispatch
{
    [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable] HRESULT isMap([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable] HRESULT isMap([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable] HRESULT useMap([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable] HRESULT useMap([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)] HRESULT mimeType([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)] HRESULT fileSize([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)] HRESULT fileCreatedDate([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)] HRESULT fileModifiedDate([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)] HRESULT fileUpdatedDate([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)] HRESULT protocol([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_HREF)] HRESULT href([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)] HRESULT nameProp([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable] HRESULT border([in] VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable] HRESULT border([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable] HRESULT vspace([in] long v);
    [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable] HRESULT vspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable] HRESULT hspace([in] long v);
    [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable] HRESULT hspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable] HRESULT alt([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable] HRESULT alt([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable] HRESULT lowsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable] HRESULT lowsrc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable] HRESULT vrml([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable] HRESULT vrml([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable] HRESULT dynsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable] HRESULT dynsrc([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)] HRESULT readyState([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)] HRESULT complete([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable] HRESULT loop([in] VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable] HRESULT loop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable] HRESULT onabort([in] VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable] HRESULT onabort([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)] HRESULT width([in] long v);
    [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)] HRESULT width([retval, out] long * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)] HRESULT height([in] long v);
    [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)] HRESULT height([retval, out] long * p);
    [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable] HRESULT start([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable] HRESULT start([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f826-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLImgElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable] HRESULT longDesc([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable] HRESULT longDesc([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510434-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLImgElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLIMGELEMENT3_IE8_LONGDESC)] HRESULT longDesc([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT3_IE8_LONGDESC)] HRESULT longDesc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT3_IE8_VRML)] HRESULT vrml([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT3_IE8_VRML)] HRESULT vrml([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT3_IE8_LOWSRC)] HRESULT lowsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT3_IE8_LOWSRC)] HRESULT lowsrc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIMGELEMENT3_IE8_DYNSRC)] HRESULT dynsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT3_IE8_DYNSRC)] HRESULT dynsrc([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f38e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLImageElementFactory : IDispatch
{
    [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)] HRESULT create([optional, in] VARIANT width,[optional, in] VARIANT height,[retval, out] IHTMLImgElement** );
};
[
    hidden,
    uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLImg
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable] void isMap(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable] VARIANT_BOOL isMap();
    [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable] void useMap(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable] BSTR useMap();
    [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)] BSTR mimeType();
    [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)] BSTR fileSize();
    [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)] BSTR fileCreatedDate();
    [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)] BSTR fileModifiedDate();
    [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)] BSTR fileUpdatedDate();
    [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)] BSTR protocol();
    [propget, id(DISPID_IHTMLIMGELEMENT_HREF)] BSTR href();
    [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)] BSTR nameProp();
    [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable] void border(VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable] VARIANT border();
    [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable] void vspace(long v);
    [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable] long vspace();
    [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable] void hspace(long v);
    [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable] long hspace();
    [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable] void alt(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable] BSTR alt();
    [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable] void src(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable] BSTR src();
    [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable] void lowsrc(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable] BSTR lowsrc();
    [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable] void vrml(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable] BSTR vrml();
    [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable] void dynsrc(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable] BSTR dynsrc();
    [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)] VARIANT_BOOL complete();
    [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable] void loop(VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable] VARIANT loop();
    [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable] BSTR align();
    [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)] void width(long v);
    [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)] long width();
    [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)] void height(long v);
    [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)] long height();
    [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable] void start(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable] BSTR start();
    [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable] void longDesc(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable] BSTR longDesc();
    [propput, id(DISPID_IHTMLIMGELEMENT3_IE8_LONGDESC)] void ie8_longDesc(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT3_IE8_LONGDESC)] BSTR ie8_longDesc();
    [propput, id(DISPID_IHTMLIMGELEMENT3_IE8_VRML)] void ie8_vrml(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT3_IE8_VRML)] BSTR ie8_vrml();
    [propput, id(DISPID_IHTMLIMGELEMENT3_IE8_LOWSRC)] void ie8_lowsrc(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT3_IE8_LOWSRC)] BSTR ie8_lowsrc();
    [propput, id(DISPID_IHTMLIMGELEMENT3_IE8_DYNSRC)] void ie8_dynsrc(BSTR v);
    [propget, id(DISPID_IHTMLIMGELEMENT3_IE8_DYNSRC)] BSTR ie8_dynsrc();
};
[
    noncreatable,
    uuid(3050f241-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLImg
{
    [default]           dispinterface DispHTMLImg;
    [source, default]   dispinterface HTMLImgEvents;
    [source]            dispinterface HTMLImgEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLImgElement;
                        interface IHTMLImgElement2;
                        interface IHTMLImgElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CImgElement;")
[
    noncreatable,
    uuid(3050f38f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLImageElementFactory
{
    [default]           interface IHTMLImageElementFactory;
};
cpp_quote("EXTERN_C const GUID CLSID_CImageElementFactory;")
[
    hidden,
    uuid(30510498-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLXMLHttpRequestEvents
{
properties:
methods:
    [id(DISPID_HTMLXMLHTTPREQUESTEVENTS_ONTIMEOUT)] void ontimeout();
    [id(DISPID_HTMLXMLHTTPREQUESTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051040a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLXMLHttpRequest : IDispatch
{
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)] HRESULT readyState([retval, out] long * p);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)] HRESULT responseBody([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)] HRESULT responseText([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)] HRESULT responseXML([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)] HRESULT status([retval, out] long * p);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)] HRESULT statusText([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)] HRESULT abort();
    [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)] HRESULT open([in] BSTR bstrMethod,[in] BSTR bstrUrl,[in] VARIANT varAsync,[optional, in] VARIANT varUser,[optional, in] VARIANT varPassword);
    [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)] HRESULT send([optional, in] VARIANT varBody);
    [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)] HRESULT getAllResponseHeaders([retval, out] BSTR* );
    [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)] HRESULT getResponseHeader([in] BSTR bstrHeader,[retval, out] BSTR* );
    [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)] HRESULT setRequestHeader([in] BSTR bstrHeader,[in] BSTR bstrValue);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510482-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLXMLHttpRequest2 : IDispatch
{
    [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)] HRESULT timeout([in] long v);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)] HRESULT timeout([retval, out] long * p);
    [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable] HRESULT ontimeout([in] VARIANT v);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable] HRESULT ontimeout([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051040c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLXMLHttpRequestFactory : IDispatch
{
    [id(DISPID_IHTMLXMLHTTPREQUESTFACTORY_CREATE)] HRESULT create([retval, out] IHTMLXMLHttpRequest** );
};
[
    hidden,
    uuid(3050f596-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLXMLHttpRequest
{
properties:
methods:
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)] long readyState();
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)] VARIANT responseBody();
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)] BSTR responseText();
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)] IDispatch* responseXML();
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)] long status();
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)] BSTR statusText();
    [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)] void abort();
    [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)] void open([in] BSTR bstrMethod,[in] BSTR bstrUrl,[in] VARIANT varAsync,[optional, in] VARIANT varUser,[optional, in] VARIANT varPassword);
    [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)] void send([optional, in] VARIANT varBody);
    [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)] BSTR getAllResponseHeaders();
    [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)] BSTR getResponseHeader([in] BSTR bstrHeader);
    [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)] void setRequestHeader([in] BSTR bstrHeader,[in] BSTR bstrValue);
    [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)] void timeout(long v);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)] long timeout();
    [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable] void ontimeout(VARIANT v);
    [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable] VARIANT ontimeout();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3051040b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLXMLHttpRequest
{
    [default]           dispinterface DispHTMLXMLHttpRequest;
    [source, default]   dispinterface HTMLXMLHttpRequestEvents;
                        interface IHTMLXMLHttpRequest;
                        interface IHTMLXMLHttpRequest2;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CXMLHttpRequest;")
[
    noncreatable,
    uuid(3051040d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLXMLHttpRequestFactory
{
    [default]           interface IHTMLXMLHttpRequestFactory;
};
cpp_quote("EXTERN_C const GUID CLSID_CXMLHttpRequestFactory;")
typedef enum _bodyScroll
{
    bodyScrollyes = 1,
    bodyScrollno = 2,
    bodyScrollauto = 4,
    bodyScrolldefault = 3,
    bodyScroll_Max = 2147483647L
} bodyScroll;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBodyElement : IDispatch
{
    [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable] HRESULT background([in] BSTR v);
    [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable] HRESULT background([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable] HRESULT bgProperties([in] BSTR v);
    [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable] HRESULT bgProperties([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable] HRESULT leftMargin([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable] HRESULT leftMargin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable] HRESULT topMargin([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable] HRESULT topMargin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable] HRESULT rightMargin([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable] HRESULT rightMargin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable] HRESULT bottomMargin([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable] HRESULT bottomMargin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable] HRESULT noWrap([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable] HRESULT noWrap([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable] HRESULT bgColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable] HRESULT bgColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable] HRESULT text([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable] HRESULT text([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable] HRESULT link([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable] HRESULT link([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable] HRESULT vLink([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable] HRESULT vLink([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable] HRESULT aLink([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable] HRESULT aLink([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable] HRESULT onunload([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable] HRESULT onunload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable] HRESULT scroll([in] BSTR v);
    [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable] HRESULT scroll([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable] HRESULT onbeforeunload([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable] HRESULT onbeforeunload([retval, out] VARIANT * p);
    [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)] HRESULT createTextRange([retval, out] IHTMLTxtRange** range);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBodyElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable] HRESULT onbeforeprint([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable] HRESULT onbeforeprint([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable] HRESULT onafterprint([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable] HRESULT onafterprint([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510422-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBodyElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLBODYELEMENT3_IE8_BACKGROUND), displaybind, bindable] HRESULT background([in] BSTR v);
    [propget, id(DISPID_IHTMLBODYELEMENT3_IE8_BACKGROUND), displaybind, bindable] HRESULT background([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBODYELEMENT3_ONONLINE), displaybind, bindable] HRESULT ononline([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT3_ONONLINE), displaybind, bindable] HRESULT ononline([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT3_ONOFFLINE), displaybind, bindable] HRESULT onoffline([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT3_ONOFFLINE), displaybind, bindable] HRESULT onoffline([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBODYELEMENT3_ONHASHCHANGE), displaybind, bindable] HRESULT onhashchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT3_ONHASHCHANGE), displaybind, bindable] HRESULT onhashchange([retval, out] VARIANT * p);
};
[
    hidden,
    uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLBody
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable] void background(BSTR v);
    [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable] BSTR background();
    [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable] void bgProperties(BSTR v);
    [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable] BSTR bgProperties();
    [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable] void leftMargin(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable] VARIANT leftMargin();
    [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable] void topMargin(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable] VARIANT topMargin();
    [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable] void rightMargin(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable] VARIANT rightMargin();
    [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable] void bottomMargin(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable] VARIANT bottomMargin();
    [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable] void noWrap(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable] VARIANT_BOOL noWrap();
    [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable] void bgColor(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable] VARIANT bgColor();
    [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable] void text(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable] VARIANT text();
    [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable] void link(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable] VARIANT link();
    [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable] void vLink(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable] VARIANT vLink();
    [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable] void aLink(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable] VARIANT aLink();
    [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable] void onunload(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable] VARIANT onunload();
    [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable] void scroll(BSTR v);
    [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable] BSTR scroll();
    [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable] void onbeforeunload(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable] VARIANT onbeforeunload();
    [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)] IHTMLTxtRange* createTextRange();
    [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable] void onbeforeprint(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable] VARIANT onbeforeprint();
    [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable] void onafterprint(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable] VARIANT onafterprint();
    [propput, id(DISPID_IHTMLBODYELEMENT3_IE8_BACKGROUND), displaybind, bindable] void ie8_background(BSTR v);
    [propget, id(DISPID_IHTMLBODYELEMENT3_IE8_BACKGROUND), displaybind, bindable] BSTR ie8_background();
    [propput, id(DISPID_IHTMLBODYELEMENT3_ONONLINE), displaybind, bindable] void ononline(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT3_ONONLINE), displaybind, bindable] VARIANT ononline();
    [propput, id(DISPID_IHTMLBODYELEMENT3_ONOFFLINE), displaybind, bindable] void onoffline(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT3_ONOFFLINE), displaybind, bindable] VARIANT onoffline();
    [propput, id(DISPID_IHTMLBODYELEMENT3_ONHASHCHANGE), displaybind, bindable] void onhashchange(VARIANT v);
    [propget, id(DISPID_IHTMLBODYELEMENT3_ONHASHCHANGE), displaybind, bindable] VARIANT onhashchange();
};
[
    noncreatable,
    uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLBody
{
    [default]           dispinterface DispHTMLBody;
    [source, default]   dispinterface HTMLTextContainerEvents;
    [source]            dispinterface HTMLTextContainerEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLBodyElement;
                        interface IHTMLBodyElement2;
                        interface IHTMLBodyElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CBodyElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1d9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFontElement : IDispatch
{
    [propput, id(DISPID_IHTMLFONTELEMENT_COLOR), displaybind, bindable] HRESULT color([in] VARIANT v);
    [propget, id(DISPID_IHTMLFONTELEMENT_COLOR), displaybind, bindable] HRESULT color([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFONTELEMENT_FACE), displaybind, bindable] HRESULT face([in] BSTR v);
    [propget, id(DISPID_IHTMLFONTELEMENT_FACE), displaybind, bindable] HRESULT face([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFONTELEMENT_SIZE), displaybind, bindable] HRESULT size([in] VARIANT v);
    [propget, id(DISPID_IHTMLFONTELEMENT_SIZE), displaybind, bindable] HRESULT size([retval, out] VARIANT * p);
};
[
    hidden,
    uuid(3050f512-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLFontElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLFONTELEMENT_COLOR), displaybind, bindable] void color(VARIANT v);
    [propget, id(DISPID_IHTMLFONTELEMENT_COLOR), displaybind, bindable] VARIANT color();
    [propput, id(DISPID_IHTMLFONTELEMENT_FACE), displaybind, bindable] void face(BSTR v);
    [propget, id(DISPID_IHTMLFONTELEMENT_FACE), displaybind, bindable] BSTR face();
    [propput, id(DISPID_IHTMLFONTELEMENT_SIZE), displaybind, bindable] void size(VARIANT v);
    [propget, id(DISPID_IHTMLFONTELEMENT_SIZE), displaybind, bindable] VARIANT size();
};
[
    noncreatable,
    uuid(3050f27b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLFontElement
{
    [default]           dispinterface DispHTMLFontElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLFontElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CFontElement;")
[
    hidden,
    uuid(3050f610-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLAnchorEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f29d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLAnchorEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAnchorElement : IDispatch
{
    [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable] HRESULT href([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable] HRESULT target([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable] HRESULT target([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable] HRESULT rel([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable] HRESULT rel([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable] HRESULT rev([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable] HRESULT rev([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable] HRESULT urn([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable] HRESULT urn([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable] HRESULT Methods([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable] HRESULT Methods([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)] HRESULT host([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)] HRESULT host([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)] HRESULT hostname([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)] HRESULT hostname([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)] HRESULT pathname([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)] HRESULT pathname([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)] HRESULT port([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)] HRESULT port([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)] HRESULT protocol([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)] HRESULT protocol([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)] HRESULT search([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)] HRESULT search([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)] HRESULT hash([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)] HRESULT hash([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable] HRESULT onblur([in] VARIANT v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable] HRESULT onblur([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable] HRESULT onfocus([in] VARIANT v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable] HRESULT onfocus([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable] HRESULT accessKey([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable] HRESULT accessKey([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)] HRESULT protocolLong([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)] HRESULT mimeType([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)] HRESULT nameProp([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable] HRESULT tabIndex([in] short v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable] HRESULT tabIndex([retval, out] short * p);
    [id(DISPID_IHTMLANCHORELEMENT_FOCUS)] HRESULT focus();
    [id(DISPID_IHTMLANCHORELEMENT_BLUR)] HRESULT blur();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f825-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAnchorElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable] HRESULT charset([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable] HRESULT charset([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable] HRESULT coords([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable] HRESULT coords([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable] HRESULT hreflang([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable] HRESULT hreflang([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable] HRESULT shape([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable] HRESULT shape([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051041d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAnchorElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)] HRESULT shape([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)] HRESULT shape([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)] HRESULT coords([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)] HRESULT coords([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)] HRESULT href([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLAnchorElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable] void href(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable] BSTR href();
    [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable] void target(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable] BSTR target();
    [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable] void rel(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable] BSTR rel();
    [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable] void rev(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable] BSTR rev();
    [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable] void urn(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable] BSTR urn();
    [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable] void Methods(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable] BSTR Methods();
    [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)] void host(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)] BSTR host();
    [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)] void hostname(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)] BSTR hostname();
    [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)] void pathname(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)] BSTR pathname();
    [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)] void port(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)] BSTR port();
    [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)] void protocol(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)] BSTR protocol();
    [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)] void search(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)] BSTR search();
    [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)] void hash(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)] BSTR hash();
    [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)] BSTR protocolLong();
    [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)] BSTR mimeType();
    [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)] BSTR nameProp();
    [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable] void charset(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable] BSTR charset();
    [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable] void coords(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable] BSTR coords();
    [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable] void hreflang(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable] BSTR hreflang();
    [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable] void shape(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable] BSTR shape();
    [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable] BSTR type();
    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)] void ie8_shape(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)] BSTR ie8_shape();
    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)] void ie8_coords(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)] BSTR ie8_coords();
    [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)] void ie8_href(BSTR v);
    [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)] BSTR ie8_href();
};
[
    noncreatable,
    uuid(3050f248-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLAnchorElement
{
    [default]           dispinterface DispHTMLAnchorElement;
    [source, default]   dispinterface HTMLAnchorEvents;
    [source]            dispinterface HTMLAnchorEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLAnchorElement;
                        interface IHTMLAnchorElement2;
                        interface IHTMLAnchorElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CAnchorElement;")
[
    hidden,
    uuid(3050f61c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLLabelEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f329-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLLabelEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f32a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLabelElement : IDispatch
{
    [propput, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable] HRESULT htmlFor([in] BSTR v);
    [propget, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable] HRESULT htmlFor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLABELELEMENT_ACCESSKEY), displaybind, bindable] HRESULT accessKey([in] BSTR v);
    [propget, id(DISPID_IHTMLLABELELEMENT_ACCESSKEY), displaybind, bindable] HRESULT accessKey([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f832-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLabelElement2 : IDispatch
{
    [propget, id(DISPID_IHTMLLABELELEMENT2_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
};
[
    hidden,
    uuid(3050f522-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLLabelElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable] void htmlFor(BSTR v);
    [propget, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable] BSTR htmlFor();
    [propget, id(DISPID_IHTMLLABELELEMENT2_FORM)] IHTMLFormElement* form();
};
[
    noncreatable,
    uuid(3050f32b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLLabelElement
{
    [default]           dispinterface DispHTMLLabelElement;
    [source, default]   dispinterface HTMLLabelEvents;
    [source]            dispinterface HTMLLabelEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLLabelElement;
                        interface IHTMLLabelElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CLabelElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f20e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLListElement : IDispatch
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f822-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLListElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] HRESULT compact([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] HRESULT compact([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f525-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLListElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] void compact(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] VARIANT_BOOL compact();
};
[
    noncreatable,
    uuid(3050f272-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLListElement
{
    [default]           dispinterface DispHTMLListElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLListElement;
                        interface IHTMLListElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CListElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1dd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLUListElement : IDispatch
{
    [propput, id(DISPID_IHTMLULISTELEMENT_COMPACT), displaybind, bindable] HRESULT compact([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLULISTELEMENT_COMPACT), displaybind, bindable] HRESULT compact([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLULISTELEMENT_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLULISTELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f538-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLUListElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] void compact(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] VARIANT_BOOL compact();
    [propput, id(DISPID_IHTMLULISTELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLULISTELEMENT_TYPE), displaybind, bindable] BSTR type();
};
[
    noncreatable,
    uuid(3050f269-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLUListElement
{
    [default]           dispinterface DispHTMLUListElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLListElement;
                        interface IHTMLListElement2;
                        interface IHTMLUListElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CUListElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1de-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLOListElement : IDispatch
{
    [propput, id(DISPID_IHTMLOLISTELEMENT_COMPACT), displaybind, bindable] HRESULT compact([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOLISTELEMENT_COMPACT), displaybind, bindable] HRESULT compact([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLOLISTELEMENT_START), displaybind, bindable] HRESULT start([in] long v);
    [propget, id(DISPID_IHTMLOLISTELEMENT_START), displaybind, bindable] HRESULT start([retval, out] long * p);
    [propput, id(DISPID_IHTMLOLISTELEMENT_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLOLISTELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f52a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLOListElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] void compact(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] VARIANT_BOOL compact();
    [propput, id(DISPID_IHTMLOLISTELEMENT_START), displaybind, bindable] void start(long v);
    [propget, id(DISPID_IHTMLOLISTELEMENT_START), displaybind, bindable] long start();
    [propput, id(DISPID_IHTMLOLISTELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLOLISTELEMENT_TYPE), displaybind, bindable] BSTR type();
};
[
    noncreatable,
    uuid(3050f270-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLOListElement
{
    [default]           dispinterface DispHTMLOListElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLListElement;
                        interface IHTMLListElement2;
                        interface IHTMLOListElement;
};
cpp_quote("EXTERN_C const GUID CLSID_COListElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1e0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLIElement : IDispatch
{
    [propput, id(DISPID_IHTMLLIELEMENT_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLLIELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLIELEMENT_VALUE), displaybind, bindable] HRESULT value([in] long v);
    [propget, id(DISPID_IHTMLLIELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] long * p);
};
[
    hidden,
    uuid(3050f523-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLLIElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLLIELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLLIELEMENT_TYPE), displaybind, bindable] BSTR type();
    [propput, id(DISPID_IHTMLLIELEMENT_VALUE), displaybind, bindable] void value(long v);
    [propget, id(DISPID_IHTMLLIELEMENT_VALUE), displaybind, bindable] long value();
};
[
    noncreatable,
    uuid(3050f273-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLLIElement
{
    [default]           dispinterface DispHTMLLIElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLLIElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CLIElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f208-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBlockElement : IDispatch
{
    [propput, id(DISPID_IHTMLBLOCKELEMENT_CLEAR), displaybind, bindable] HRESULT clear([in] BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT_CLEAR), displaybind, bindable] HRESULT clear([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f823-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBlockElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLBLOCKELEMENT2_CITE), displaybind, bindable] HRESULT cite([in] BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT2_CITE), displaybind, bindable] HRESULT cite([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBLOCKELEMENT2_WIDTH), displaybind, bindable] HRESULT width([in] BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT2_WIDTH), displaybind, bindable] HRESULT width([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510494-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBlockElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLBLOCKELEMENT3_IE8_CITE)] HRESULT cite([in] BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT3_IE8_CITE)] HRESULT cite([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f506-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLBlockElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLBLOCKELEMENT_CLEAR), displaybind, bindable] void clear(BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT_CLEAR), displaybind, bindable] BSTR clear();
    [propput, id(DISPID_IHTMLBLOCKELEMENT2_CITE), displaybind, bindable] void cite(BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT2_CITE), displaybind, bindable] BSTR cite();
    [propput, id(DISPID_IHTMLBLOCKELEMENT2_WIDTH), displaybind, bindable] void width(BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT2_WIDTH), displaybind, bindable] BSTR width();
    [propput, id(DISPID_IHTMLBLOCKELEMENT3_IE8_CITE)] void ie8_cite(BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT3_IE8_CITE)] BSTR ie8_cite();
};
[
    noncreatable,
    uuid(3050f281-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLBlockElement
{
    [default]           dispinterface DispHTMLBlockElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLBlockElement;
                        interface IHTMLBlockElement2;
                        interface IHTMLBlockElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CBlockElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f200-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDivElement : IDispatch
{
    [propput, id(DISPID_IHTMLDIVELEMENT_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLDIVELEMENT_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDIVELEMENT_NOWRAP), displaybind, bindable] HRESULT noWrap([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDIVELEMENT_NOWRAP), displaybind, bindable] HRESULT noWrap([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f50c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDivElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLDIVELEMENT_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLDIVELEMENT_ALIGN), displaybind, bindable] BSTR align();
    [propput, id(DISPID_IHTMLDIVELEMENT_NOWRAP), displaybind, bindable] void noWrap(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDIVELEMENT_NOWRAP), displaybind, bindable] VARIANT_BOOL noWrap();
};
[
    noncreatable,
    uuid(3050f27e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDivElement
{
    [default]           dispinterface DispHTMLDivElement;
    [source, default]   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 IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLDivElement;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
};
cpp_quote("EXTERN_C const GUID CLSID_CDivElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1f2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDDElement : IDispatch
{
    [propput, id(DISPID_IHTMLDDELEMENT_NOWRAP), displaybind, bindable] HRESULT noWrap([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDDELEMENT_NOWRAP), displaybind, bindable] HRESULT noWrap([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f50b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDDElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLDDELEMENT_NOWRAP), displaybind, bindable] void noWrap(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDDELEMENT_NOWRAP), displaybind, bindable] VARIANT_BOOL noWrap();
};
[
    noncreatable,
    uuid(3050f27f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDDElement
{
    [default]           dispinterface DispHTMLDDElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLDDElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CDDElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1f3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDTElement : IDispatch
{
    [propput, id(DISPID_IHTMLDTELEMENT_NOWRAP), displaybind, bindable] HRESULT noWrap([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDTELEMENT_NOWRAP), displaybind, bindable] HRESULT noWrap([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f50d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDTElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLDTELEMENT_NOWRAP), displaybind, bindable] void noWrap(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDTELEMENT_NOWRAP), displaybind, bindable] VARIANT_BOOL noWrap();
};
[
    noncreatable,
    uuid(3050f27c-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDTElement
{
    [default]           dispinterface DispHTMLDTElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLDTElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CDTElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1f0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBRElement : IDispatch
{
    [propput, id(DISPID_IHTMLBRELEMENT_CLEAR), displaybind, bindable] HRESULT clear([in] BSTR v);
    [propget, id(DISPID_IHTMLBRELEMENT_CLEAR), displaybind, bindable] HRESULT clear([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f53a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLBRElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLBRELEMENT_CLEAR), displaybind, bindable] void clear(BSTR v);
    [propget, id(DISPID_IHTMLBRELEMENT_CLEAR), displaybind, bindable] BSTR clear();
};
[
    noncreatable,
    uuid(3050f280-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLBRElement
{
    [default]           dispinterface DispHTMLBRElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLBRElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CBRElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1f1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDListElement : IDispatch
{
    [propput, id(DISPID_IHTMLDLISTELEMENT_COMPACT), bindable] HRESULT compact([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDLISTELEMENT_COMPACT), bindable] HRESULT compact([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f53b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDListElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] void compact(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLLISTELEMENT2_COMPACT), bindable] VARIANT_BOOL compact();
};
[
    noncreatable,
    uuid(3050f27d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDListElement
{
    [default]           dispinterface DispHTMLDListElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLListElement;
                        interface IHTMLListElement2;
                        interface IHTMLDListElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CDListElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1f4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLHRElement : IDispatch
{
    [propput, id(DISPID_IHTMLHRELEMENT_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLHRELEMENT_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLHRELEMENT_COLOR), displaybind, bindable] HRESULT color([in] VARIANT v);
    [propget, id(DISPID_IHTMLHRELEMENT_COLOR), displaybind, bindable] HRESULT color([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLHRELEMENT_NOSHADE), bindable] HRESULT noShade([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLHRELEMENT_NOSHADE), bindable] HRESULT noShade([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLHRELEMENT_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLHRELEMENT_WIDTH)] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLHRELEMENT_SIZE)] HRESULT size([in] VARIANT v);
    [propget, id(DISPID_IHTMLHRELEMENT_SIZE)] HRESULT size([retval, out] VARIANT * p);
};
[
    hidden,
    uuid(3050f53d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLHRElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLHRELEMENT_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLHRELEMENT_ALIGN), displaybind, bindable] BSTR align();
    [propput, id(DISPID_IHTMLHRELEMENT_COLOR), displaybind, bindable] void color(VARIANT v);
    [propget, id(DISPID_IHTMLHRELEMENT_COLOR), displaybind, bindable] VARIANT color();
    [propput, id(DISPID_IHTMLHRELEMENT_NOSHADE), bindable] void noShade(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLHRELEMENT_NOSHADE), bindable] VARIANT_BOOL noShade();
    [propput, id(DISPID_IHTMLHRELEMENT_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLHRELEMENT_WIDTH)] VARIANT width();
    [propput, id(DISPID_IHTMLHRELEMENT_SIZE)] void size(VARIANT v);
    [propget, id(DISPID_IHTMLHRELEMENT_SIZE)] VARIANT size();
};
[
    noncreatable,
    uuid(3050f252-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLHRElement
{
    [default]           dispinterface DispHTMLHRElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLHRElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CHRElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1f5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLParaElement : IDispatch
{
    [propput, id(DISPID_IHTMLPARAELEMENT_ALIGN), bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAELEMENT_ALIGN), bindable] HRESULT align([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f52c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLParaElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLBLOCKELEMENT_CLEAR), displaybind, bindable] void clear(BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT_CLEAR), displaybind, bindable] BSTR clear();
    [propput, id(DISPID_IHTMLPARAELEMENT_ALIGN), bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLPARAELEMENT_ALIGN), bindable] BSTR align();
};
[
    noncreatable,
    uuid(3050f26f-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLParaElement
{
    [default]           dispinterface DispHTMLParaElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLBlockElement;
                        interface IHTMLParaElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CParaElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f21f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElementCollection : IDispatch
{
    [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)] HRESULT toString([retval, out] BSTR* String);
    [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)] HRESULT length([in] long v);
    [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)] HRESULT item([optional, in] VARIANT name,[optional, in] VARIANT index,[retval, out] IDispatch** pdisp);
    [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)] HRESULT tags([in] VARIANT tagName,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5ee-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElementCollection2 : IDispatch
{
    [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)] HRESULT urns([in] VARIANT urn,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f835-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElementCollection3 : IDispatch
{
    [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)] HRESULT namedItem([in] BSTR name,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510425-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLElementCollection4 : IDispatch
{
    [propget, id(DISPID_IHTMLELEMENTCOLLECTION4_IE8_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLELEMENTCOLLECTION4_IE8_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLElement2** pNode);
    [id(DISPID_IHTMLELEMENTCOLLECTION4_IE8_NAMEDITEM)] HRESULT namedItem([in] BSTR name,[retval, out] IHTMLElement2** pNode);
};
[
    hidden,
    uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLElementCollection
{
properties:
methods:
    [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)] void length(long v);
    [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)] IDispatch* item([optional, in] VARIANT name,[optional, in] VARIANT index);
    [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)] IDispatch* tags([in] VARIANT tagName);
    [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)] IDispatch* urns([in] VARIANT urn);
    [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)] IDispatch* namedItem([in] BSTR name);
    [propget, id(DISPID_IHTMLELEMENTCOLLECTION4_IE8_LENGTH)] long ie8_length();
    [id(DISPID_IHTMLELEMENTCOLLECTION4_IE8_ITEM)] IHTMLElement2* ie8_item([in] long index);
    [id(DISPID_IHTMLELEMENTCOLLECTION4_IE8_NAMEDITEM)] IHTMLElement2* ie8_namedItem([in] BSTR name);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f4cb-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLElementCollection
{
    [default]           dispinterface DispHTMLElementCollection;
                        interface IHTMLElementCollection;
                        interface IHTMLElementCollection2;
                        interface IHTMLElementCollection3;
                        interface IHTMLElementCollection4;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CElementCollection;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f1f6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLHeaderElement : IDispatch
{
    [propput, id(DISPID_IHTMLHEADERELEMENT_ALIGN), bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLHEADERELEMENT_ALIGN), bindable] HRESULT align([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f515-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLHeaderElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLBLOCKELEMENT_CLEAR), displaybind, bindable] void clear(BSTR v);
    [propget, id(DISPID_IHTMLBLOCKELEMENT_CLEAR), displaybind, bindable] BSTR clear();
    [propput, id(DISPID_IHTMLHEADERELEMENT_ALIGN), bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLHEADERELEMENT_ALIGN), bindable] BSTR align();
};
[
    noncreatable,
    uuid(3050f27a-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLHeaderElement
{
    [default]           dispinterface DispHTMLHeaderElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLBlockElement;
                        interface IHTMLHeaderElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CHeaderElement;")
[
    hidden,
    uuid(3050f622-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLSelectElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLSELECTELEMENTEVENTS2_ONCHANGE)] void onchange([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f302-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLSelectElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLSELECTELEMENTEVENTS_ONCHANGE)] void onchange();
};
typedef enum _htmlSelectType
{
    htmlSelectTypeSelectOne = 1,
    htmlSelectTypeSelectMultiple = 2,
    htmlSelectType_Max = 2147483647L
} htmlSelectType;

typedef enum _htmlSelectExFlag
{
    htmlSelectExFlagNone = 0,
    htmlSelectExFlagHideSelectionInDesign = 0x00000001,
    htmlSelectExFlag_Max = 2147483647L
} htmlSelectExFlag;

interface IHTMLOptionElement;
[
    object,
    pointer_default(unique),
    uuid(3050f2d1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelectElementEx : IUnknown
{
    [] HRESULT ShowDropdown([in] BOOL fShow);
    [] HRESULT SetSelectExFlags([in] DWORD lFlags);
    [] HRESULT GetSelectExFlags([retval, out] DWORD* pFlags);
    [] HRESULT GetDropdownOpen([retval, out] BOOL* pfOpen);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelectElement : IDispatch
{
    [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable] HRESULT size([in] long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable] HRESULT size([retval, out] long * p);
    [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable] HRESULT multiple([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable] HRESULT multiple([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)] HRESULT options([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)] HRESULT selectedIndex([in] long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)] HRESULT selectedIndex([retval, out] long * p);
    [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [id(DISPID_IHTMLSELECTELEMENT_ADD)] HRESULT add([in] IHTMLElement* element,[optional, in] VARIANT before);
    [id(DISPID_IHTMLSELECTELEMENT_REMOVE)] HRESULT remove([defaultvalue(-1), in] long index);
    [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)] HRESULT length([in] long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLSELECTELEMENT_ITEM)] HRESULT item([optional, in] VARIANT name,[optional, in] VARIANT index,[retval, out] IDispatch** pdisp);
    [id(DISPID_IHTMLSELECTELEMENT_TAGS)] HRESULT tags([in] VARIANT tagName,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5ed-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelectElement2 : IDispatch
{
    [id(DISPID_IHTMLSELECTELEMENT2_URNS)] HRESULT urns([in] VARIANT urn,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f838-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelectElement4 : IDispatch
{
    [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)] HRESULT namedItem([in] BSTR name,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051049d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelectElement5 : IDispatch
{
    [id(DISPID_IHTMLSELECTELEMENT5_IE8_ADD)] HRESULT add([in] IHTMLOptionElement* pElem,[in] VARIANT* pvarBefore);
};
[
    hidden,
    uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLSelectElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable] void size(long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable] long size();
    [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable] void multiple(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable] VARIANT_BOOL multiple();
    [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable] BSTR name();
    [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)] IDispatch* options();
    [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)] void selectedIndex(long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)] long selectedIndex();
    [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable] BSTR type();
    [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable] BSTR value();
    [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)] IHTMLFormElement* form();
    [id(DISPID_IHTMLSELECTELEMENT_ADD)] void add([in] IHTMLElement* element,[optional, in] VARIANT before);
    [id(DISPID_IHTMLSELECTELEMENT_REMOVE)] void remove([defaultvalue(-1), in] long index);
    [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)] void length(long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)] long length();
    [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLSELECTELEMENT_ITEM)] IDispatch* item([optional, in] VARIANT name,[optional, in] VARIANT index);
    [id(DISPID_IHTMLSELECTELEMENT_TAGS)] IDispatch* tags([in] VARIANT tagName);
    [id(DISPID_IHTMLSELECTELEMENT2_URNS)] IDispatch* urns([in] VARIANT urn);
    [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)] IDispatch* namedItem([in] BSTR name);
    [id(DISPID_IHTMLSELECTELEMENT5_IE8_ADD)] void ie8_add([in] IHTMLOptionElement* pElem,[in] VARIANT* pvarBefore);
};
[
    noncreatable,
    uuid(3050f245-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLSelectElement
{
    [default]           dispinterface DispHTMLSelectElement;
    [source, default]   dispinterface HTMLSelectElementEvents;
    [source]            dispinterface HTMLSelectElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLSelectElement;
                        interface IHTMLSelectElement2;
                        interface IHTMLSelectElement4;
                        interface IHTMLSelectElement5;
};
cpp_quote("EXTERN_C const GUID CLSID_CSelectElement;")
[
    hidden,
    uuid(3050f597-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLWndSelectElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable] void size(long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable] long size();
    [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable] void multiple(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable] VARIANT_BOOL multiple();
    [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable] BSTR name();
    [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)] IDispatch* options();
    [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)] void selectedIndex(long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)] long selectedIndex();
    [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable] BSTR type();
    [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable] BSTR value();
    [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)] IHTMLFormElement* form();
    [id(DISPID_IHTMLSELECTELEMENT_ADD)] void add([in] IHTMLElement* element,[optional, in] VARIANT before);
    [id(DISPID_IHTMLSELECTELEMENT_REMOVE)] void remove([defaultvalue(-1), in] long index);
    [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)] void length(long v);
    [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)] long length();
    [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLSELECTELEMENT_ITEM)] IDispatch* item([optional, in] VARIANT name,[optional, in] VARIANT index);
    [id(DISPID_IHTMLSELECTELEMENT_TAGS)] IDispatch* tags([in] VARIANT tagName);
    [id(DISPID_IHTMLSELECTELEMENT2_URNS)] IDispatch* urns([in] VARIANT urn);
    [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)] IDispatch* namedItem([in] BSTR name);
};
[
    noncreatable,
    uuid(3050f2cf-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLWndSelectElement
{
    [default]           dispinterface DispHTMLWndSelectElement;
    [source, default]   dispinterface HTMLSelectElementEvents;
    [source]            dispinterface HTMLSelectElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLSelectElement;
                        interface IHTMLSelectElement2;
                        interface IHTMLSelectElement4;
};
cpp_quote("EXTERN_C const GUID CLSID_CWndSelectElement;")
typedef enum _htmlSelection
{
    htmlSelectionNone = 0,
    htmlSelectionText = 1,
    htmlSelectionControl = 2,
    htmlSelectionTable = 3,
    htmlSelection_Max = 2147483647L
} htmlSelection;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f25A-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelectionObject : IDispatch
{
    [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)] HRESULT createRange([retval, out] IDispatch** range);
    [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)] HRESULT empty();
    [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)] HRESULT clear();
    [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)] HRESULT type([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f7ec-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSelectionObject2 : IDispatch
{
    [id(DISPID_IHTMLSELECTIONOBJECT2_CREATERANGECOLLECTION)] HRESULT createRangeCollection([retval, out] IDispatch** rangeCollection);
    [propget, id(DISPID_IHTMLSELECTIONOBJECT2_TYPEDETAIL)] HRESULT typeDetail([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f211-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLOptionElement : IDispatch
{
    [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)] HRESULT selected([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)] HRESULT selected([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)] HRESULT defaultSelected([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)] HRESULT defaultSelected([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)] HRESULT index([in] LONG v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)] HRESULT index([retval, out] LONG * p);
    [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)] HRESULT text([in] BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)] HRESULT text([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLOptionElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable] HRESULT label([in] BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable] HRESULT label([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f38c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLOptionElementFactory : IDispatch
{
    [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)] HRESULT create([optional, in] VARIANT text,[optional, in] VARIANT value,[optional, in] VARIANT defaultselected,[optional, in] VARIANT selected,[retval, out] IHTMLOptionElement** );
};
[
    hidden,
    uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLOptionElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)] void selected(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)] VARIANT_BOOL selected();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)] void value(BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)] BSTR value();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)] void defaultSelected(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)] VARIANT_BOOL defaultSelected();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)] void index(LONG v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)] LONG index();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)] void text(BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)] BSTR text();
    [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)] IHTMLFormElement* form();
    [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable] void label(BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable] BSTR label();
};
[
    noncreatable,
    uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLOptionElement
{
    [default]           dispinterface DispHTMLOptionElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLOptionElement;
                        interface IHTMLOptionElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_COptionElement;")
[
    noncreatable,
    uuid(3050f38d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLOptionElementFactory
{
    [default]           interface IHTMLOptionElementFactory;
};
cpp_quote("EXTERN_C const GUID CLSID_COptionElementFactory;")
[
    hidden,
    uuid(3050f598-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLWndOptionElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)] void selected(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)] VARIANT_BOOL selected();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)] void value(BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)] BSTR value();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)] void defaultSelected(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)] VARIANT_BOOL defaultSelected();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)] void index(LONG v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)] LONG index();
    [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)] void text(BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)] BSTR text();
    [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)] IHTMLFormElement* form();
    [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable] void label(BSTR v);
    [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable] BSTR label();
};
[
    noncreatable,
    uuid(3050f2d0-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLWndOptionElement
{
    [default]           dispinterface DispHTMLWndOptionElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLOptionElement;
                        interface IHTMLOptionElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CWndOptionElement;")
[
    hidden,
    uuid(3050f617-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLButtonElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f2b3-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLButtonElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
};
[
    hidden,
    uuid(3050f618-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLInputTextElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONCHANGE)] VARIANT_BOOL onchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONSELECT)] void onselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONABORT)] void onabort([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f619-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLOptionButtonElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONCHANGE)] VARIANT_BOOL onchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONSELECT)] void onselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONABORT)] void onabort([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f61a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLInputFileElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONCHANGE)] VARIANT_BOOL onchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONSELECT)] void onselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS2_ONABORT)] void onabort([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f61b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLInputImageEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTIMAGEEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTIMAGEEVENTS2_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLINPUTIMAGEEVENTS2_ONABORT)] void onabort([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f2a7-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLInputTextElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONCHANGE)] VARIANT_BOOL onchange();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONSELECT)] void onselect();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONLOAD)] void onload();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONERROR)] void onerror();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONABORT)] void onabort();
};
[
    hidden,
    uuid(3050f2bd-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLOptionButtonElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONCHANGE)] VARIANT_BOOL onchange();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONSELECT)] void onselect();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONLOAD)] void onload();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONERROR)] void onerror();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONABORT)] void onabort();
};
[
    hidden,
    uuid(3050f2af-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLInputFileElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONCHANGE)] VARIANT_BOOL onchange();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONSELECT)] void onselect();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONLOAD)] void onload();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONERROR)] void onerror();
    [id(DISPID_HTMLINPUTTEXTELEMENTEVENTS_ONABORT)] void onabort();
};
[
    hidden,
    uuid(3050f2c3-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLInputImageEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLINPUTIMAGEEVENTS_ONLOAD)] void onload();
    [id(DISPID_HTMLINPUTIMAGEEVENTS_ONERROR)] void onerror();
    [id(DISPID_HTMLINPUTIMAGEEVENTS_ONABORT)] void onabort();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputElement : IDispatch
{
    [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)] HRESULT status([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)] HRESULT status([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable] HRESULT size([in] long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable] HRESULT size([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable] HRESULT maxLength([in] long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable] HRESULT maxLength([retval, out] long * p);
    [id(DISPID_IHTMLINPUTELEMENT_SELECT)] HRESULT select();
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] HRESULT defaultValue([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] HRESULT defaultValue([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable] HRESULT readOnly([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable] HRESULT readOnly([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)] HRESULT createTextRange([retval, out] IHTMLTxtRange** range);
    [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable] HRESULT indeterminate([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable] HRESULT indeterminate([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable] HRESULT defaultChecked([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable] HRESULT defaultChecked([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable] HRESULT checked([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable] HRESULT checked([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable] HRESULT border([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable] HRESULT border([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable] HRESULT vspace([in] long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable] HRESULT vspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable] HRESULT hspace([in] long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable] HRESULT hspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable] HRESULT alt([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable] HRESULT alt([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable] HRESULT lowsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable] HRESULT lowsrc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable] HRESULT vrml([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable] HRESULT vrml([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable] HRESULT dynsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable] HRESULT dynsrc([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)] HRESULT readyState([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)] HRESULT complete([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable] HRESULT loop([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable] HRESULT loop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable] HRESULT onabort([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable] HRESULT onabort([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)] HRESULT width([in] long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)] HRESULT width([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)] HRESULT height([in] long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)] HRESULT height([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable] HRESULT start([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable] HRESULT start([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f821-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable] HRESULT accept([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable] HRESULT accept([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable] HRESULT useMap([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable] HRESULT useMap([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510435-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLINPUTELEMENT3_IE8_SRC)] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT3_IE8_SRC)] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT3_IE8_LOWSRC)] HRESULT lowsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT3_IE8_LOWSRC)] HRESULT lowsrc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT3_IE8_VRML)] HRESULT vrml([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT3_IE8_VRML)] HRESULT vrml([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTELEMENT3_IE8_DYNSRC)] HRESULT dynsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT3_IE8_DYNSRC)] HRESULT dynsrc([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2b2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputButtonElement : IDispatch
{
    [propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTBUTTONELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTBUTTONELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTBUTTONELEMENT_STATUS)] HRESULT status([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_STATUS)] HRESULT status([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTBUTTONELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [id(DISPID_IHTMLINPUTBUTTONELEMENT_CREATETEXTRANGE)] HRESULT createTextRange([retval, out] IHTMLTxtRange** range);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2a4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputHiddenElement : IDispatch
{
    [propget, id(DISPID_IHTMLINPUTHIDDENELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTHIDDENELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTHIDDENELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTHIDDENELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTHIDDENELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTHIDDENELEMENT_STATUS)] HRESULT status([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTHIDDENELEMENT_STATUS)] HRESULT status([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTHIDDENELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTHIDDENELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLINPUTHIDDENELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [id(DISPID_IHTMLINPUTHIDDENELEMENT_CREATETEXTRANGE)] HRESULT createTextRange([retval, out] IHTMLTxtRange** range);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputTextElement : IDispatch
{
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)] HRESULT status([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)] HRESULT status([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] HRESULT defaultValue([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] HRESULT defaultValue([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable] HRESULT size([in] long v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable] HRESULT size([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable] HRESULT maxLength([in] long v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable] HRESULT maxLength([retval, out] long * p);
    [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)] HRESULT select();
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable] HRESULT readOnly([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable] HRESULT readOnly([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)] HRESULT createTextRange([retval, out] IHTMLTxtRange** range);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2ad-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputFileElement : IDispatch
{
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTFILEELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTFILEELEMENT_STATUS)] HRESULT status([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_STATUS)] HRESULT status([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTFILEELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [propput, id(DISPID_IHTMLINPUTFILEELEMENT_SIZE), displaybind, bindable] HRESULT size([in] long v);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_SIZE), displaybind, bindable] HRESULT size([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTFILEELEMENT_MAXLENGTH), displaybind, bindable] HRESULT maxLength([in] long v);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_MAXLENGTH), displaybind, bindable] HRESULT maxLength([retval, out] long * p);
    [id(DISPID_IHTMLINPUTFILEELEMENT_SELECT)] HRESULT select();
    [propput, id(DISPID_IHTMLINPUTFILEELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTFILEELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTFILEELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTFILEELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2bc-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLOptionButtonElement : IDispatch
{
    [propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_CHECKED), bindable] HRESULT checked([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_CHECKED), bindable] HRESULT checked([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_DEFAULTCHECKED), bindable] HRESULT defaultChecked([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_DEFAULTCHECKED), bindable] HRESULT defaultChecked([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_STATUS)] HRESULT status([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_STATUS)] HRESULT status([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_INDETERMINATE), bindable] HRESULT indeterminate([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_INDETERMINATE), bindable] HRESULT indeterminate([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2c2-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLInputImage : IDispatch
{
    [propget, id(DISPID_IHTMLINPUTIMAGE_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_BORDER), displaybind, bindable] HRESULT border([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_BORDER), displaybind, bindable] HRESULT border([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_VSPACE), displaybind, bindable] HRESULT vspace([in] long v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_VSPACE), displaybind, bindable] HRESULT vspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_HSPACE), displaybind, bindable] HRESULT hspace([in] long v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_HSPACE), displaybind, bindable] HRESULT hspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_ALT), displaybind, bindable] HRESULT alt([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_ALT), displaybind, bindable] HRESULT alt([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_SRC), displaybind, bindable] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_SRC), displaybind, bindable] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_LOWSRC), displaybind, bindable] HRESULT lowsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_LOWSRC), displaybind, bindable] HRESULT lowsrc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_VRML), displaybind, bindable] HRESULT vrml([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_VRML), displaybind, bindable] HRESULT vrml([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_DYNSRC), displaybind, bindable] HRESULT dynsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_DYNSRC), displaybind, bindable] HRESULT dynsrc([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLINPUTIMAGE_READYSTATE)] HRESULT readyState([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLINPUTIMAGE_COMPLETE)] HRESULT complete([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_LOOP), displaybind, bindable] HRESULT loop([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_LOOP), displaybind, bindable] HRESULT loop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_ONABORT), displaybind, bindable] HRESULT onabort([in] VARIANT v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_ONABORT), displaybind, bindable] HRESULT onabort([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_WIDTH)] HRESULT width([in] long v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_WIDTH)] HRESULT width([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_HEIGHT)] HRESULT height([in] long v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_HEIGHT)] HRESULT height([retval, out] long * p);
    [propput, id(DISPID_IHTMLINPUTIMAGE_START), displaybind, bindable] HRESULT start([in] BSTR v);
    [propget, id(DISPID_IHTMLINPUTIMAGE_START), displaybind, bindable] HRESULT start([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLInputElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)] void type(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)] BSTR type();
    [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable] BSTR value();
    [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)] void status(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)] VARIANT_BOOL status();
    [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)] IHTMLFormElement* form();
    [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable] void size(long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable] long size();
    [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable] void maxLength(long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable] long maxLength();
    [id(DISPID_IHTMLINPUTELEMENT_SELECT)] void select();
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] void defaultValue(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] BSTR defaultValue();
    [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable] void readOnly(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable] VARIANT_BOOL readOnly();
    [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)] IHTMLTxtRange* createTextRange();
    [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable] void indeterminate(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable] VARIANT_BOOL indeterminate();
    [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable] void defaultChecked(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable] VARIANT_BOOL defaultChecked();
    [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable] void checked(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable] VARIANT_BOOL checked();
    [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable] void border(VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable] VARIANT border();
    [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable] void vspace(long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable] long vspace();
    [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable] void hspace(long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable] long hspace();
    [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable] void alt(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable] BSTR alt();
    [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable] void src(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable] BSTR src();
    [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable] void lowsrc(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable] BSTR lowsrc();
    [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable] void vrml(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable] BSTR vrml();
    [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable] void dynsrc(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable] BSTR dynsrc();
    [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)] VARIANT_BOOL complete();
    [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable] void loop(VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable] VARIANT loop();
    [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable] BSTR align();
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable] void onabort(VARIANT v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable] VARIANT onabort();
    [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)] void width(long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)] long width();
    [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)] void height(long v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)] long height();
    [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable] void start(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable] BSTR start();
    [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable] void accept(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable] BSTR accept();
    [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable] void useMap(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable] BSTR useMap();
    [propput, id(DISPID_IHTMLINPUTELEMENT3_IE8_SRC)] void ie8_src(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT3_IE8_SRC)] BSTR ie8_src();
    [propput, id(DISPID_IHTMLINPUTELEMENT3_IE8_LOWSRC)] void ie8_lowsrc(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT3_IE8_LOWSRC)] BSTR ie8_lowsrc();
    [propput, id(DISPID_IHTMLINPUTELEMENT3_IE8_VRML)] void ie8_vrml(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT3_IE8_VRML)] BSTR ie8_vrml();
    [propput, id(DISPID_IHTMLINPUTELEMENT3_IE8_DYNSRC)] void ie8_dynsrc(BSTR v);
    [propget, id(DISPID_IHTMLINPUTELEMENT3_IE8_DYNSRC)] BSTR ie8_dynsrc();
};
[
    noncreatable,
    uuid(3050f5d8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLInputElement
{
    [default]           dispinterface DispHTMLInputElement;
    [source, default]   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 IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLInputElement;
                        interface IHTMLInputElement2;
                        interface IHTMLInputTextElement;
                        interface IHTMLInputHiddenElement;
                        interface IHTMLInputButtonElement;
                        interface IHTMLInputFileElement;
                        interface IHTMLOptionButtonElement;
                        interface IHTMLInputImage;
                        interface IHTMLInputElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CInput;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTextAreaElement : IDispatch
{
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)] HRESULT status([in] VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)] HRESULT status([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] HRESULT defaultValue([in] BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] HRESULT defaultValue([retval, out] BSTR * p);
    [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)] HRESULT select();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable] HRESULT onchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable] HRESULT onselect([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable] HRESULT readOnly([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable] HRESULT readOnly([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable] HRESULT rows([in] long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable] HRESULT rows([retval, out] long * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable] HRESULT cols([in] long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable] HRESULT cols([retval, out] long * p);
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable] HRESULT wrap([in] BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable] HRESULT wrap([retval, out] BSTR * p);
    [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)] HRESULT createTextRange([retval, out] IHTMLTxtRange** range);
};
[
    hidden,
    uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTextAreaElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)] BSTR type();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable] BSTR value();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)] void status(VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)] VARIANT status();
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)] IHTMLFormElement* form();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] void defaultValue(BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] BSTR defaultValue();
    [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)] void select();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable] void readOnly(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable] VARIANT_BOOL readOnly();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable] void rows(long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable] long rows();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable] void cols(long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable] long cols();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable] void wrap(BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable] BSTR wrap();
    [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)] IHTMLTxtRange* createTextRange();
};
[
    noncreatable,
    uuid(3050f2ac-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTextAreaElement
{
    [default]           dispinterface DispHTMLTextAreaElement;
    [source, default]   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 IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLTextAreaElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CTextArea;")
[
    hidden,
    uuid(3050f54d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLRichtextElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)] BSTR type();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable] BSTR value();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)] void status(VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)] VARIANT status();
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)] IHTMLFormElement* form();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] void defaultValue(BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] BSTR defaultValue();
    [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)] void select();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable] VARIANT onchange();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable] VARIANT onselect();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable] void readOnly(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable] VARIANT_BOOL readOnly();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable] void rows(long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable] long rows();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable] void cols(long v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable] long cols();
    [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable] void wrap(BSTR v);
    [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable] BSTR wrap();
    [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)] IHTMLTxtRange* createTextRange();
};
[
    noncreatable,
    uuid(3050f2df-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLRichtextElement
{
    [default]           dispinterface DispHTMLRichtextElement;
    [source, default]   dispinterface HTMLInputTextElementEvents;
    [source]            dispinterface HTMLInputTextElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLTextAreaElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CRichtext;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f2bb-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLButtonElement : IDispatch
{
    [propget, id(DISPID_IHTMLBUTTONELEMENT_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBUTTONELEMENT_STATUS)] HRESULT status([in] VARIANT v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT_STATUS)] HRESULT status([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBUTTONELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLBUTTONELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [id(DISPID_IHTMLBUTTONELEMENT_CREATETEXTRANGE)] HRESULT createTextRange([retval, out] IHTMLTxtRange** range);
};
[
    hidden,
    uuid(3050f51f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLButtonElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propget, id(DISPID_IHTMLBUTTONELEMENT_TYPE)] BSTR type();
    [propput, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable] BSTR value();
    [propput, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLBUTTONELEMENT_STATUS)] void status(VARIANT v);
    [propget, id(DISPID_IHTMLBUTTONELEMENT_STATUS)] VARIANT status();
    [propget, id(DISPID_IHTMLBUTTONELEMENT_FORM)] IHTMLFormElement* form();
    [id(DISPID_IHTMLBUTTONELEMENT_CREATETEXTRANGE)] IHTMLTxtRange* createTextRange();
};
[
    noncreatable,
    uuid(3050f2c6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLButtonElement
{
    [default]           dispinterface DispHTMLButtonElement;
    [source, default]   dispinterface HTMLButtonElementEvents;
    [source]            dispinterface HTMLButtonElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLButtonElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CButton;")
[
    hidden,
    uuid(3050f61f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLMarqueeElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)] void onchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)] void onselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLMARQUEEELEMENTEVENTS2_ONBOUNCE)] void onbounce([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLMARQUEEELEMENTEVENTS2_ONFINISH)] void onfinish([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLMARQUEEELEMENTEVENTS2_ONSTART)] void onstart([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f2b8-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLMarqueeElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)] void onchange();
    [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)] void onselect();
    [id(DISPID_HTMLMARQUEEELEMENTEVENTS_ONBOUNCE)] void onbounce();
    [id(DISPID_HTMLMARQUEEELEMENTEVENTS_ONFINISH)] void onfinish();
    [id(DISPID_HTMLMARQUEEELEMENTEVENTS_ONSTART)] void onstart();
};
typedef enum _htmlMarqueeBehavior
{
    htmlMarqueeBehaviorscroll = 1,
    htmlMarqueeBehaviorslide = 2,
    htmlMarqueeBehavioralternate = 3,
    htmlMarqueeBehavior_Max = 2147483647L
} htmlMarqueeBehavior;

typedef enum _htmlMarqueeDirection
{
    htmlMarqueeDirectionleft = 1,
    htmlMarqueeDirectionright = 3,
    htmlMarqueeDirectionup = 5,
    htmlMarqueeDirectiondown = 7,
    htmlMarqueeDirection_Max = 2147483647L
} htmlMarqueeDirection;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f2b5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMarqueeElement : IDispatch
{
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_BGCOLOR)] HRESULT bgColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_BGCOLOR)] HRESULT bgColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_SCROLLDELAY)] HRESULT scrollDelay([in] long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_SCROLLDELAY)] HRESULT scrollDelay([retval, out] long * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_DIRECTION)] HRESULT direction([in] BSTR v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_DIRECTION)] HRESULT direction([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_BEHAVIOR)] HRESULT behavior([in] BSTR v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_BEHAVIOR)] HRESULT behavior([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_SCROLLAMOUNT)] HRESULT scrollAmount([in] long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_SCROLLAMOUNT)] HRESULT scrollAmount([retval, out] long * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_LOOP)] HRESULT loop([in] long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_LOOP)] HRESULT loop([retval, out] long * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_VSPACE)] HRESULT vspace([in] long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_VSPACE)] HRESULT vspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_HSPACE)] HRESULT hspace([in] long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_HSPACE)] HRESULT hspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_ONFINISH), displaybind, bindable] HRESULT onfinish([in] VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_ONFINISH), displaybind, bindable] HRESULT onfinish([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_ONSTART), displaybind, bindable] HRESULT onstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_ONSTART), displaybind, bindable] HRESULT onstart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_ONBOUNCE), displaybind, bindable] HRESULT onbounce([in] VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_ONBOUNCE), displaybind, bindable] HRESULT onbounce([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_WIDTH)] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_HEIGHT)] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_HEIGHT)] HRESULT height([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_TRUESPEED), displaybind, bindable] HRESULT trueSpeed([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_TRUESPEED), displaybind, bindable] HRESULT trueSpeed([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLMARQUEEELEMENT_START)] HRESULT start();
    [id(DISPID_IHTMLMARQUEEELEMENT_STOP)] HRESULT stop();
};
[
    hidden,
    uuid(3050f527-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLMarqueeElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_BGCOLOR)] void bgColor(VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_BGCOLOR)] VARIANT bgColor();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_SCROLLDELAY)] void scrollDelay(long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_SCROLLDELAY)] long scrollDelay();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_DIRECTION)] void direction(BSTR v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_DIRECTION)] BSTR direction();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_BEHAVIOR)] void behavior(BSTR v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_BEHAVIOR)] BSTR behavior();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_SCROLLAMOUNT)] void scrollAmount(long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_SCROLLAMOUNT)] long scrollAmount();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_LOOP)] void loop(long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_LOOP)] long loop();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_VSPACE)] void vspace(long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_VSPACE)] long vspace();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_HSPACE)] void hspace(long v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_HSPACE)] long hspace();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_ONFINISH), displaybind, bindable] void onfinish(VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_ONFINISH), displaybind, bindable] VARIANT onfinish();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_ONSTART), displaybind, bindable] void onstart(VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_ONSTART), displaybind, bindable] VARIANT onstart();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_ONBOUNCE), displaybind, bindable] void onbounce(VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_ONBOUNCE), displaybind, bindable] VARIANT onbounce();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_WIDTH)] VARIANT width();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_HEIGHT)] void height(VARIANT v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_HEIGHT)] VARIANT height();
    [propput, id(DISPID_IHTMLMARQUEEELEMENT_TRUESPEED), displaybind, bindable] void trueSpeed(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLMARQUEEELEMENT_TRUESPEED), displaybind, bindable] VARIANT_BOOL trueSpeed();
    [id(DISPID_IHTMLMARQUEEELEMENT_START)] void start();
    [id(DISPID_IHTMLMARQUEEELEMENT_STOP)] void stop();
};
[
    noncreatable,
    uuid(3050f2b9-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLMarqueeElement
{
    [default]           dispinterface DispHTMLMarqueeElement;
    [source, default]   dispinterface HTMLMarqueeElementEvents;
    [source]            dispinterface HTMLMarqueeElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLMarqueeElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CMarquee;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f81c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLHtmlElement : IDispatch
{
    [propput, id(DISPID_IHTMLHTMLELEMENT_VERSION), displaybind, bindable] HRESULT version([in] BSTR v);
    [propget, id(DISPID_IHTMLHTMLELEMENT_VERSION), displaybind, bindable] HRESULT version([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLHeadElement : IDispatch
{
    [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable] HRESULT profile([in] BSTR v);
    [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable] HRESULT profile([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLHeadElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable] HRESULT profile([in] BSTR v);
    [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable] HRESULT profile([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTitleElement : IDispatch
{
    [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable] HRESULT text([in] BSTR v);
    [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable] HRESULT text([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMetaElement : IDispatch
{
    [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable] HRESULT httpEquiv([in] BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable] HRESULT httpEquiv([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable] HRESULT content([in] BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable] HRESULT content([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable] HRESULT url([in] BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable] HRESULT url([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable] HRESULT charset([in] BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable] HRESULT charset([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMetaElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable] HRESULT scheme([in] BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable] HRESULT scheme([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMetaElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)] HRESULT url([in] BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)] HRESULT url([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f204-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBaseElement : IDispatch
{
    [propput, id(DISPID_IHTMLBASEELEMENT_HREF), displaybind, bindable] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLBASEELEMENT_HREF), displaybind, bindable] HRESULT href([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBASEELEMENT_TARGET), displaybind, bindable] HRESULT target([in] BSTR v);
    [propget, id(DISPID_IHTMLBASEELEMENT_TARGET), displaybind, bindable] HRESULT target([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510420-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBaseElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLBASEELEMENT2_IE8_HREF), displaybind, bindable] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLBASEELEMENT2_IE8_HREF), displaybind, bindable] HRESULT href([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f206-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLIsIndexElement : IDispatch
{
    [propput, id(DISPID_IHTMLISINDEXELEMENT_PROMPT), displaybind, bindable] HRESULT prompt([in] BSTR v);
    [propget, id(DISPID_IHTMLISINDEXELEMENT_PROMPT), displaybind, bindable] HRESULT prompt([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLISINDEXELEMENT_ACTION), displaybind, bindable] HRESULT action([in] BSTR v);
    [propget, id(DISPID_IHTMLISINDEXELEMENT_ACTION), displaybind, bindable] HRESULT action([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f82f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLIsIndexElement2 : IDispatch
{
    [propget, id(DISPID_IHTMLISINDEXELEMENT2_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f207-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLNextIdElement : IDispatch
{
    [propput, id(DISPID_IHTMLNEXTIDELEMENT_N), displaybind, bindable] HRESULT n([in] BSTR v);
    [propget, id(DISPID_IHTMLNEXTIDELEMENT_N), displaybind, bindable] HRESULT n([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f560-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLHtmlElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLHTMLELEMENT_VERSION), displaybind, bindable] void version(BSTR v);
    [propget, id(DISPID_IHTMLHTMLELEMENT_VERSION), displaybind, bindable] BSTR version();
};
[
    noncreatable,
    uuid(3050f491-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLHtmlElement
{
    [default]           dispinterface DispHTMLHtmlElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLHtmlElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CHtmlElement;")
[
    hidden,
    uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLHeadElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable] void profile(BSTR v);
    [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable] BSTR profile();
    [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable] void ie8_profile(BSTR v);
    [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable] BSTR ie8_profile();
};
[
    noncreatable,
    uuid(3050f493-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLHeadElement
{
    [default]           dispinterface DispHTMLHeadElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLHeadElement;
                        interface IHTMLHeadElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CHeadElement;")
[
    hidden,
    uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTitleElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable] void text(BSTR v);
    [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable] BSTR text();
};
[
    noncreatable,
    uuid(3050f284-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTitleElement
{
    [default]           dispinterface DispHTMLTitleElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLTitleElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CTitleElement;")
[
    hidden,
    uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLMetaElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable] void httpEquiv(BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable] BSTR httpEquiv();
    [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable] void content(BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable] BSTR content();
    [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable] void url(BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable] BSTR url();
    [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable] void charset(BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable] BSTR charset();
    [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable] void scheme(BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable] BSTR scheme();
    [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)] void ie8_url(BSTR v);
    [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)] BSTR ie8_url();
};
[
    noncreatable,
    uuid(3050f275-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLMetaElement
{
    [default]           dispinterface DispHTMLMetaElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLMetaElement;
                        interface IHTMLMetaElement2;
                        interface IHTMLMetaElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CMetaElement;")
[
    hidden,
    uuid(3050f518-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLBaseElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLBASEELEMENT_HREF), displaybind, bindable] void href(BSTR v);
    [propget, id(DISPID_IHTMLBASEELEMENT_HREF), displaybind, bindable] BSTR href();
    [propput, id(DISPID_IHTMLBASEELEMENT_TARGET), displaybind, bindable] void target(BSTR v);
    [propget, id(DISPID_IHTMLBASEELEMENT_TARGET), displaybind, bindable] BSTR target();
    [propput, id(DISPID_IHTMLBASEELEMENT2_IE8_HREF), displaybind, bindable] void ie8_href(BSTR v);
    [propget, id(DISPID_IHTMLBASEELEMENT2_IE8_HREF), displaybind, bindable] BSTR ie8_href();
};
[
    noncreatable,
    uuid(3050f276-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLBaseElement
{
    [default]           dispinterface DispHTMLBaseElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLBaseElement;
                        interface IHTMLBaseElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CBaseElement;")
[
    hidden,
    uuid(3050f519-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLIsIndexElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLISINDEXELEMENT_PROMPT), displaybind, bindable] void prompt(BSTR v);
    [propget, id(DISPID_IHTMLISINDEXELEMENT_PROMPT), displaybind, bindable] BSTR prompt();
    [propput, id(DISPID_IHTMLISINDEXELEMENT_ACTION), displaybind, bindable] void action(BSTR v);
    [propget, id(DISPID_IHTMLISINDEXELEMENT_ACTION), displaybind, bindable] BSTR action();
    [propget, id(DISPID_IHTMLISINDEXELEMENT2_FORM)] IHTMLFormElement* form();
};
[
    noncreatable,
    uuid(3050f278-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLIsIndexElement
{
    [default]           dispinterface DispHTMLIsIndexElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLIsIndexElement;
                        interface IHTMLIsIndexElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CIsIndexElement;")
[
    hidden,
    uuid(3050f51a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLNextIdElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLNEXTIDELEMENT_N), displaybind, bindable] void n(BSTR v);
    [propget, id(DISPID_IHTMLNEXTIDELEMENT_N), displaybind, bindable] BSTR n();
};
[
    noncreatable,
    uuid(3050f279-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLNextIdElement
{
    [default]           dispinterface DispHTMLNextIdElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLNextIdElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CNextIdElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f202-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBaseFontElement : IDispatch
{
    [propput, id(DISPID_IHTMLBASEFONTELEMENT_COLOR), displaybind, bindable] HRESULT color([in] VARIANT v);
    [propget, id(DISPID_IHTMLBASEFONTELEMENT_COLOR), displaybind, bindable] HRESULT color([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBASEFONTELEMENT_FACE), displaybind, bindable] HRESULT face([in] BSTR v);
    [propget, id(DISPID_IHTMLBASEFONTELEMENT_FACE), displaybind, bindable] HRESULT face([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBASEFONTELEMENT_SIZE), displaybind, bindable] HRESULT size([in] long v);
    [propget, id(DISPID_IHTMLBASEFONTELEMENT_SIZE), displaybind, bindable] HRESULT size([retval, out] long * p);
};
[
    hidden,
    uuid(3050f504-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLBaseFontElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLBASEFONTELEMENT_COLOR), displaybind, bindable] void color(VARIANT v);
    [propget, id(DISPID_IHTMLBASEFONTELEMENT_COLOR), displaybind, bindable] VARIANT color();
    [propput, id(DISPID_IHTMLBASEFONTELEMENT_FACE), displaybind, bindable] void face(BSTR v);
    [propget, id(DISPID_IHTMLBASEFONTELEMENT_FACE), displaybind, bindable] BSTR face();
    [propput, id(DISPID_IHTMLBASEFONTELEMENT_SIZE), displaybind, bindable] void size(long v);
    [propget, id(DISPID_IHTMLBASEFONTELEMENT_SIZE), displaybind, bindable] long size();
};
[
    noncreatable,
    uuid(3050f282-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLBaseFontElement
{
    [default]           dispinterface DispHTMLBaseFontElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLBaseFontElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CBaseFontElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f209-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLUnknownElement : IDispatch
{
};
[
    hidden,
    uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLUnknownElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f268-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLUnknownElement
{
    [default]           dispinterface DispHTMLUnknownElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLUnknownElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CUnknownElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(FECEAAA2-8405-11cf-8BA1-00AA00476DA6)
]
interface IOmHistory : IDispatch
{
    [propget, id(DISPID_IOMHISTORY_LENGTH)] HRESULT length([retval, out] short * p);
    [id(DISPID_IOMHISTORY_BACK)] HRESULT back([optional, in] VARIANT* pvargdistance);
    [id(DISPID_IOMHISTORY_FORWARD)] HRESULT forward([optional, in] VARIANT* pvargdistance);
    [id(DISPID_IOMHISTORY_GO)] HRESULT go([optional, in] VARIANT* pvargdistance);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3fc-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMimeTypesCollection : IDispatch
{
    [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3fd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPluginsCollection : IDispatch
{
    [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)] HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f401-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLOpsProfile : IDispatch
{
    [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)] HRESULT addRequest([in] BSTR name,[optional, in] VARIANT reserved,[retval, out] VARIANT_BOOL* success);
    [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)] HRESULT clearRequest();
    [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)] HRESULT doRequest([in] VARIANT usage,[optional, in] VARIANT fname,[optional, in] VARIANT domain,[optional, in] VARIANT path,[optional, in] VARIANT expire,[optional, in] VARIANT reserved);
    [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR name,[retval, out] BSTR* value);
    [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)] HRESULT setAttribute([in] BSTR name,[in] BSTR value,[optional, in] VARIANT prefs,[retval, out] VARIANT_BOOL* success);
    [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)] HRESULT commitChanges([retval, out] VARIANT_BOOL* success);
    [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)] HRESULT addReadRequest([in] BSTR name,[optional, in] VARIANT reserved,[retval, out] VARIANT_BOOL* success);
    [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)] HRESULT doReadRequest([in] VARIANT usage,[optional, in] VARIANT fname,[optional, in] VARIANT domain,[optional, in] VARIANT path,[optional, in] VARIANT expire,[optional, in] VARIANT reserved);
    [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)] HRESULT doWriteRequest([retval, out] VARIANT_BOOL* success);
};
[
    odl,
    oleautomation,
    dual,
    uuid(FECEAAA5-8405-11cf-8BA1-00AA00476DA6)
]
interface IOmNavigator : IDispatch
{
    [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)] HRESULT appCodeName([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_APPNAME)] HRESULT appName([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)] HRESULT appVersion([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)] HRESULT userAgent([retval, out] BSTR * p);
    [id(DISPID_IOMNAVIGATOR_JAVAENABLED)] HRESULT javaEnabled([retval, out] VARIANT_BOOL* enabled);
    [id(DISPID_IOMNAVIGATOR_TAINTENABLED)] HRESULT taintEnabled([retval, out] VARIANT_BOOL* enabled);
    [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)] HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection* * p);
    [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)] HRESULT plugins([retval, out] IHTMLPluginsCollection* * p);
    [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)] HRESULT cookieEnabled([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)] HRESULT opsProfile([retval, out] IHTMLOpsProfile* * p);
    [id(DISPID_IOMNAVIGATOR_TOSTRING)] HRESULT toString([retval, out] BSTR* string);
    [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)] HRESULT cpuClass([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)] HRESULT systemLanguage([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden] HRESULT browserLanguage([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)] HRESULT userLanguage([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)] HRESULT platform([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)] HRESULT appMinorVersion([retval, out] BSTR * p);
    [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden] HRESULT connectionSpeed([retval, out] long * p);
    [propget, id(DISPID_IOMNAVIGATOR_ONLINE)] HRESULT onLine([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)] HRESULT userProfile([retval, out] IHTMLOpsProfile* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
]
interface IHTMLLocation : IDispatch
{
    [propput, id(DISPID_IHTMLLOCATION_HREF)] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_HREF)] HRESULT href([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)] HRESULT protocol([in] BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)] HRESULT protocol([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLOCATION_HOST)] HRESULT host([in] BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_HOST)] HRESULT host([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)] HRESULT hostname([in] BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)] HRESULT hostname([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLOCATION_PORT)] HRESULT port([in] BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_PORT)] HRESULT port([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLOCATION_PATHNAME)] HRESULT pathname([in] BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_PATHNAME)] HRESULT pathname([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLOCATION_SEARCH)] HRESULT search([in] BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_SEARCH)] HRESULT search([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLLOCATION_HASH)] HRESULT hash([in] BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_HASH)] HRESULT hash([retval, out] BSTR * p);
    [id(DISPID_IHTMLLOCATION_RELOAD)] HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
    [id(DISPID_IHTMLLOCATION_REPLACE)] HRESULT replace([in] BSTR bstr);
    [id(DISPID_IHTMLLOCATION_ASSIGN)] HRESULT assign([in] BSTR bstr);
    [id(DISPID_IHTMLLOCATION_TOSTRING)] HRESULT toString([retval, out] BSTR* string);
};
[
    hidden,
    uuid(3050f549-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLHistory
{
properties:
methods:
    [propget, id(DISPID_IOMHISTORY_LENGTH)] short length();
    [id(DISPID_IOMHISTORY_BACK)] void back([optional, in] VARIANT* pvargdistance);
    [id(DISPID_IOMHISTORY_FORWARD)] void forward([optional, in] VARIANT* pvargdistance);
    [id(DISPID_IOMHISTORY_GO)] void go([optional, in] VARIANT* pvargdistance);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
]
coclass HTMLHistory
{
    [default]           dispinterface DispHTMLHistory;
                        interface IOmHistory;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_COmHistory;")
[
    noncreatable,
    uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CMimeTypes
{
    [default]           interface IHTMLMimeTypesCollection;
};
cpp_quote("EXTERN_C const GUID CLSID_CMimeTypes;")
[
    hidden,
    uuid(3050f54a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispCPlugins
{
properties:
methods:
    [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)] long length();
    [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)] void refresh([defaultvalue(0), in] VARIANT_BOOL reload);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CPlugins
{
    [default]           dispinterface DispCPlugins;
                        interface IHTMLPluginsCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CPlugins;")
[
    noncreatable,
    uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
]
coclass COpsProfile
{
    [default]           interface IHTMLOpsProfile;
};
cpp_quote("EXTERN_C const GUID CLSID_COpsProfile;")
[
    hidden,
    uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLNavigator
{
properties:
methods:
    [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)] BSTR appCodeName();
    [propget, id(DISPID_IOMNAVIGATOR_APPNAME)] BSTR appName();
    [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)] BSTR appVersion();
    [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)] BSTR userAgent();
    [id(DISPID_IOMNAVIGATOR_JAVAENABLED)] VARIANT_BOOL javaEnabled();
    [id(DISPID_IOMNAVIGATOR_TAINTENABLED)] VARIANT_BOOL taintEnabled();
    [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)] IHTMLMimeTypesCollection* mimeTypes();
    [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)] IHTMLPluginsCollection* plugins();
    [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)] VARIANT_BOOL cookieEnabled();
    [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)] IHTMLOpsProfile* opsProfile();
    [id(DISPID_IOMNAVIGATOR_TOSTRING)] BSTR toString();
    [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)] BSTR cpuClass();
    [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)] BSTR systemLanguage();
    [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden] BSTR browserLanguage();
    [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)] BSTR userLanguage();
    [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)] BSTR platform();
    [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)] BSTR appMinorVersion();
    [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden] long connectionSpeed();
    [propget, id(DISPID_IOMNAVIGATOR_ONLINE)] VARIANT_BOOL onLine();
    [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)] IHTMLOpsProfile* userProfile();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
]
coclass HTMLNavigator
{
    [default]           dispinterface DispHTMLNavigator;
                        interface IOmNavigator;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_COmNavigator;")
[
    hidden,
    uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLLocation
{
properties:
methods:
    [propput, id(DISPID_IHTMLLOCATION_HREF)] void href(BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_HREF)] BSTR href();
    [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)] void protocol(BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)] BSTR protocol();
    [propput, id(DISPID_IHTMLLOCATION_HOST)] void host(BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_HOST)] BSTR host();
    [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)] void hostname(BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)] BSTR hostname();
    [propput, id(DISPID_IHTMLLOCATION_PORT)] void port(BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_PORT)] BSTR port();
    [propput, id(DISPID_IHTMLLOCATION_PATHNAME)] void pathname(BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_PATHNAME)] BSTR pathname();
    [propput, id(DISPID_IHTMLLOCATION_SEARCH)] void search(BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_SEARCH)] BSTR search();
    [propput, id(DISPID_IHTMLLOCATION_HASH)] void hash(BSTR v);
    [propget, id(DISPID_IHTMLLOCATION_HASH)] BSTR hash();
    [id(DISPID_IHTMLLOCATION_RELOAD)] void reload([defaultvalue(0), in] VARIANT_BOOL flag);
    [id(DISPID_IHTMLLOCATION_REPLACE)] void replace([in] BSTR bstr);
    [id(DISPID_IHTMLLOCATION_ASSIGN)] void assign([in] BSTR bstr);
    [id(DISPID_IHTMLLOCATION_TOSTRING)] BSTR toString();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
]
coclass HTMLLocation
{
    [default]           dispinterface DispHTMLLocation;
                        interface IHTMLLocation;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_COmLocation;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBookmarkCollection : IDispatch
{
    [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] VARIANT* pVarBookmark);
};
typedef enum _htmlPersistState
{
    htmlPersistStateNormal = 0,
    htmlPersistStateFavorite = 1,
    htmlPersistStateHistory = 2,
    htmlPersistStateSnapshot = 3,
    htmlPersistStateUserData = 4,
    htmlPersistState_Max = 2147483647L
} htmlPersistState;

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

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

[
    odl,
    oleautomation,
    dual,
    uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDataTransfer : IDispatch
{
    [id(DISPID_IHTMLDATATRANSFER_SETDATA)] HRESULT setData([in] BSTR format,[in] VARIANT* data,[retval, out] VARIANT_BOOL* pret);
    [id(DISPID_IHTMLDATATRANSFER_GETDATA)] HRESULT getData([in] BSTR format,[retval, out] VARIANT* pvarRet);
    [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)] HRESULT clearData([in] BSTR format,[retval, out] VARIANT_BOOL* pret);
    [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)] HRESULT dropEffect([in] BSTR v);
    [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)] HRESULT dropEffect([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)] HRESULT effectAllowed([in] BSTR v);
    [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)] HRESULT effectAllowed([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f32d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEventObj : IDispatch
{
    [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)] HRESULT srcElement([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)] HRESULT altKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)] HRESULT ctrlKey([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)] HRESULT shiftKey([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)] HRESULT returnValue([in] VARIANT v);
    [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)] HRESULT returnValue([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)] HRESULT cancelBubble([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)] HRESULT cancelBubble([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)] HRESULT fromElement([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)] HRESULT toElement([retval, out] IHTMLElement* * p);
    [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)] HRESULT keyCode([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)] HRESULT keyCode([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)] HRESULT button([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)] HRESULT qualifier([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_REASON)] HRESULT reason([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_X)] HRESULT x([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_Y)] HRESULT y([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)] HRESULT clientX([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)] HRESULT clientY([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)] HRESULT offsetX([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)] HRESULT offsetY([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)] HRESULT screenX([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)] HRESULT screenY([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)] HRESULT srcFilter([retval, out] IDispatch* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f48B-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEventObj2 : IDispatch
{
    [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)] HRESULT setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)] HRESULT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags,[retval, out] VARIANT* AttributeValue);
    [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)] HRESULT removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags,[retval, out] VARIANT_BOOL* pfSuccess);
    [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)] HRESULT propertyName([in] BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)] HRESULT propertyName([retval, out] BSTR * p);
    [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)] HRESULT bookmarks([in] IHTMLBookmarkCollection* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)] HRESULT bookmarks([retval, out] IHTMLBookmarkCollection* * p);
    [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)] HRESULT recordset([in] IDispatch* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)] HRESULT recordset([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)] HRESULT dataFld([in] BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)] HRESULT dataFld([retval, out] BSTR * p);
    [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)] HRESULT boundElements([in] IHTMLElementCollection* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)] HRESULT boundElements([retval, out] IHTMLElementCollection* * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)] HRESULT repeat([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)] HRESULT repeat([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)] HRESULT srcUrn([in] BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)] HRESULT srcUrn([retval, out] BSTR * p);
    [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)] HRESULT srcElement([in] IHTMLElement* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)] HRESULT srcElement([retval, out] IHTMLElement* * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)] HRESULT altKey([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)] HRESULT altKey([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)] HRESULT ctrlKey([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)] HRESULT ctrlKey([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)] HRESULT shiftKey([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)] HRESULT shiftKey([retval, out] VARIANT_BOOL * p);
    [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)] HRESULT fromElement([in] IHTMLElement* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)] HRESULT fromElement([retval, out] IHTMLElement* * p);
    [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)] HRESULT toElement([in] IHTMLElement* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)] HRESULT toElement([retval, out] IHTMLElement* * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)] HRESULT button([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)] HRESULT button([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)] HRESULT qualifier([in] BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)] HRESULT qualifier([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)] HRESULT reason([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)] HRESULT reason([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_X)] HRESULT x([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_X)] HRESULT x([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_Y)] HRESULT y([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_Y)] HRESULT y([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)] HRESULT clientX([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)] HRESULT clientX([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)] HRESULT clientY([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)] HRESULT clientY([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)] HRESULT offsetX([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)] HRESULT offsetX([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)] HRESULT offsetY([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)] HRESULT offsetY([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)] HRESULT screenX([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)] HRESULT screenX([retval, out] long * p);
    [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)] HRESULT screenY([in] long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)] HRESULT screenY([retval, out] long * p);
    [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)] HRESULT srcFilter([in] IDispatch* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)] HRESULT srcFilter([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)] HRESULT dataTransfer([retval, out] IHTMLDataTransfer* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f680-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEventObj3 : IDispatch
{
    [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)] HRESULT contentOverflow([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)] HRESULT shiftLeft([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)] HRESULT shiftLeft([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)] HRESULT altLeft([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)] HRESULT altLeft([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)] HRESULT ctrlLeft([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)] HRESULT ctrlLeft([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable] HRESULT imeCompositionChange([retval, out] LONG_PTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable] HRESULT imeNotifyCommand([retval, out] LONG_PTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable] HRESULT imeNotifyData([retval, out] LONG_PTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable] HRESULT imeRequest([retval, out] LONG_PTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable] HRESULT imeRequestData([retval, out] LONG_PTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable] HRESULT keyboardLayout([retval, out] LONG_PTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)] HRESULT behaviorCookie([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)] HRESULT behaviorPart([retval, out] long * p);
    [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)] HRESULT nextPage([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f814-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEventObj4 : IDispatch
{
    [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)] HRESULT wheelDelta([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510478-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEventObj5 : IDispatch
{
    [propput, id(DISPID_IHTMLEVENTOBJ5_URL)] HRESULT url([in] BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ5_URL)] HRESULT url([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLEVENTOBJ5_DATA)] HRESULT data([in] BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ5_DATA)] HRESULT data([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLEVENTOBJ5_SOURCE)] HRESULT source([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLEVENTOBJ5_ORIGIN)] HRESULT origin([in] BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ5_ORIGIN)] HRESULT origin([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLEVENTOBJ5_ISSESSION), hidden, restricted, nonbrowsable] HRESULT issession([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ5_ISSESSION), hidden, restricted, nonbrowsable] HRESULT issession([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispCEventObj
{
properties:
methods:
    [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)] void returnValue(VARIANT v);
    [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)] VARIANT returnValue();
    [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)] void cancelBubble(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)] VARIANT_BOOL cancelBubble();
    [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)] void keyCode(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)] long keyCode();
    [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)] void propertyName(BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)] BSTR propertyName();
    [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)] void bookmarks(IHTMLBookmarkCollection* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)] IHTMLBookmarkCollection* bookmarks();
    [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)] void recordset(IDispatch* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)] IDispatch* recordset();
    [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)] BSTR dataFld();
    [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)] void boundElements(IHTMLElementCollection* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)] IHTMLElementCollection* boundElements();
    [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)] void repeat(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)] VARIANT_BOOL repeat();
    [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)] void srcUrn(BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)] BSTR srcUrn();
    [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)] void srcElement(IHTMLElement* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)] IHTMLElement* srcElement();
    [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)] void altKey(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)] VARIANT_BOOL altKey();
    [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)] void ctrlKey(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)] VARIANT_BOOL ctrlKey();
    [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)] void shiftKey(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)] VARIANT_BOOL shiftKey();
    [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)] void fromElement(IHTMLElement* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)] IHTMLElement* fromElement();
    [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)] void toElement(IHTMLElement* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)] IHTMLElement* toElement();
    [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)] void button(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)] long button();
    [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)] void type(BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)] BSTR type();
    [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)] void qualifier(BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)] BSTR qualifier();
    [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)] void reason(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)] long reason();
    [propput, id(DISPID_IHTMLEVENTOBJ2_X)] void x(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_X)] long x();
    [propput, id(DISPID_IHTMLEVENTOBJ2_Y)] void y(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_Y)] long y();
    [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)] void clientX(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)] long clientX();
    [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)] void clientY(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)] long clientY();
    [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)] void offsetX(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)] long offsetX();
    [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)] void offsetY(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)] long offsetY();
    [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)] void screenX(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)] long screenX();
    [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)] void screenY(long v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)] long screenY();
    [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)] void srcFilter(IDispatch* v);
    [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)] IDispatch* srcFilter();
    [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)] IHTMLDataTransfer* dataTransfer();
    [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)] VARIANT_BOOL contentOverflow();
    [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)] void shiftLeft(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)] VARIANT_BOOL shiftLeft();
    [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)] void altLeft(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)] VARIANT_BOOL altLeft();
    [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)] void ctrlLeft(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)] VARIANT_BOOL ctrlLeft();
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable] LONG_PTR imeCompositionChange();
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable] LONG_PTR imeNotifyCommand();
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable] LONG_PTR imeNotifyData();
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable] LONG_PTR imeRequest();
    [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable] LONG_PTR imeRequestData();
    [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable] LONG_PTR keyboardLayout();
    [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)] long behaviorCookie();
    [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)] long behaviorPart();
    [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)] BSTR nextPage();
    [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)] long wheelDelta();
    [propput, id(DISPID_IHTMLEVENTOBJ5_URL)] void url(BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ5_URL)] BSTR url();
    [propput, id(DISPID_IHTMLEVENTOBJ5_DATA)] void data(BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ5_DATA)] BSTR data();
    [propget, id(DISPID_IHTMLEVENTOBJ5_SOURCE)] IDispatch* source();
    [propput, id(DISPID_IHTMLEVENTOBJ5_ORIGIN)] void origin(BSTR v);
    [propget, id(DISPID_IHTMLEVENTOBJ5_ORIGIN)] BSTR origin();
    [propput, id(DISPID_IHTMLEVENTOBJ5_ISSESSION), hidden, restricted, nonbrowsable] void issession(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLEVENTOBJ5_ISSESSION), hidden, restricted, nonbrowsable] VARIANT_BOOL issession();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f48A-98b5-11cf-bb82-00aa00bdce0b)
]
coclass CEventObj
{
    [default]           dispinterface DispCEventObj;
                        interface IHTMLEventObj;
                        interface IHTMLEventObj2;
                        interface IHTMLEventObj3;
                        interface IHTMLEventObj4;
                        interface IHTMLEventObj5;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CEventObj;")
[
    hidden,
    uuid(3050f5a1-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLWindowEvents3
{
properties:
methods:
    [id(DISPID_HTMLWINDOWEVENTS3_ONHASHCHANGE)] void onhashchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS3_ONMESSAGE)] void onmessage([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLWindowEvents2
{
properties:
methods:
    [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)] void onunload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)] void onerror([in] BSTR description,[in] BSTR url,[in] long line);
    [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)] void onbeforeunload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)] void onbeforeprint([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)] void onafterprint([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
]
dispinterface HTMLWindowEvents
{
properties:
methods:
    [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)] void onload();
    [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)] void onunload();
    [id(DISPID_HTMLWINDOWEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLWINDOWEVENTS_ONERROR)] void onerror([in] BSTR description,[in] BSTR url,[in] long line);
    [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)] void onbeforeunload();
    [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)] void onbeforeprint();
    [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)] void onafterprint();
};
interface IHTMLDocument;
interface IHTMLDocument2;
interface IHTMLFramesCollection2;
interface IHTMLWindow2;
interface IHTMLWindow3;
interface IHTMLFrameBase;
interface IHTMLStorage;
[
    odl,
    oleautomation,
    dual,
    uuid(332c4426-26cb-11d0-b483-00c04fd90119)
]
interface IHTMLFramesCollection2 : IDispatch
{
    [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)] HRESULT item([in] VARIANT* pvarIndex,[retval, out] VARIANT* pvarResult);
    [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)] HRESULT length([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f35c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLScreen : IDispatch
{
    [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)] HRESULT colorDepth([retval, out] long * p);
    [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)] HRESULT bufferDepth([in] long v);
    [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)] HRESULT bufferDepth([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN_WIDTH)] HRESULT width([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN_HEIGHT)] HRESULT height([retval, out] long * p);
    [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)] HRESULT updateInterval([in] long v);
    [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)] HRESULT updateInterval([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)] HRESULT availHeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)] HRESULT availWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)] HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f84a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLScreen2 : IDispatch
{
    [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)] HRESULT logicalXDPI([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)] HRESULT logicalYDPI([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)] HRESULT deviceXDPI([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)] HRESULT deviceYDPI([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(305104a1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLScreen3 : IDispatch
{
    [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)] HRESULT systemXDPI([retval, out] long * p);
    [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)] HRESULT systemYDPI([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(332c4427-26cb-11d0-b483-00c04fd90119)
]
interface IHTMLWindow2 : IHTMLFramesCollection2
{
    [propget, id(DISPID_IHTMLWINDOW2_FRAMES)] HRESULT frames([retval, out] IHTMLFramesCollection2* * p);
    [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)] HRESULT defaultStatus([in] BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)] HRESULT defaultStatus([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLWINDOW2_STATUS)] HRESULT status([in] BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_STATUS)] HRESULT status([retval, out] BSTR * p);
    [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)] HRESULT setTimeout([in] BSTR expression,[in] long msec,[optional, in] VARIANT* language,[retval, out] long* timerID);
    [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)] HRESULT clearTimeout([in] long timerID);
    [id(DISPID_IHTMLWINDOW2_ALERT)] HRESULT alert([defaultvalue(""), in] BSTR message);
    [id(DISPID_IHTMLWINDOW2_CONFIRM)] HRESULT confirm([defaultvalue(""), in] BSTR message,[retval, out] VARIANT_BOOL* confirmed);
    [id(DISPID_IHTMLWINDOW2_PROMPT)] HRESULT prompt([defaultvalue(""), in] BSTR message,[defaultvalue("undefined"), in] BSTR defstr,[retval, out] VARIANT* textdata);
    [propget, id(DISPID_IHTMLWINDOW2_IMAGE)] HRESULT Image([retval, out] IHTMLImageElementFactory* * p);
    [propget, id(DISPID_IHTMLWINDOW2_LOCATION)] HRESULT location([retval, out] IHTMLLocation* * p);
    [propget, id(DISPID_IHTMLWINDOW2_HISTORY)] HRESULT history([retval, out] IOmHistory* * p);
    [id(DISPID_IHTMLWINDOW2_CLOSE)] HRESULT close();
    [propput, id(DISPID_IHTMLWINDOW2_OPENER)] HRESULT opener([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_OPENER)] HRESULT opener([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)] HRESULT navigator([retval, out] IOmNavigator* * p);
    [propput, id(DISPID_IHTMLWINDOW2_NAME)] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_NAME)] HRESULT name([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLWINDOW2_PARENT)] HRESULT parent([retval, out] IHTMLWindow2* * p);
    [id(DISPID_IHTMLWINDOW2_OPEN)] HRESULT open([defaultvalue(""), in] BSTR url,[defaultvalue(""), in] BSTR name,[defaultvalue(""), in] BSTR features,[defaultvalue(0), in] VARIANT_BOOL replace,[retval, out] IHTMLWindow2** pomWindowResult);
    [propget, id(DISPID_IHTMLWINDOW2_SELF)] HRESULT self([retval, out] IHTMLWindow2* * p);
    [propget, id(DISPID_IHTMLWINDOW2_TOP)] HRESULT top([retval, out] IHTMLWindow2* * p);
    [propget, id(DISPID_IHTMLWINDOW2_WINDOW)] HRESULT window([retval, out] IHTMLWindow2* * p);
    [id(DISPID_IHTMLWINDOW2_NAVIGATE)] HRESULT navigate([in] BSTR url);
    [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable] HRESULT onfocus([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable] HRESULT onfocus([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable] HRESULT onblur([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable] HRESULT onblur([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable] HRESULT onbeforeunload([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable] HRESULT onbeforeunload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable] HRESULT onunload([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable] HRESULT onunload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable] HRESULT onhelp([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable] HRESULT onhelp([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable] HRESULT onresize([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable] HRESULT onresize([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable] HRESULT onscroll([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable] HRESULT onscroll([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source] HRESULT document([retval, out] IHTMLDocument2* * p);
    [propget, id(DISPID_IHTMLWINDOW2_EVENT)] HRESULT event([retval, out] IHTMLEventObj* * p);
    [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)] HRESULT showModalDialog([in] BSTR dialog,[optional, in] VARIANT* varArgIn,[optional, in] VARIANT* varOptions,[retval, out] VARIANT* varArgOut);
    [id(DISPID_IHTMLWINDOW2_SHOWHELP)] HRESULT showHelp([in] BSTR helpURL,[optional, in] VARIANT helpArg,[defaultvalue(""), in] BSTR features);
    [propget, id(DISPID_IHTMLWINDOW2_SCREEN)] HRESULT screen([retval, out] IHTMLScreen* * p);
    [propget, id(DISPID_IHTMLWINDOW2_OPTION)] HRESULT Option([retval, out] IHTMLOptionElementFactory* * p);
    [id(DISPID_IHTMLWINDOW2_FOCUS)] HRESULT focus();
    [propget, id(DISPID_IHTMLWINDOW2_CLOSED)] HRESULT closed([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLWINDOW2_BLUR)] HRESULT blur();
    [id(DISPID_IHTMLWINDOW2_SCROLL)] HRESULT scroll([in] long x,[in] long y);
    [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)] HRESULT clientInformation([retval, out] IOmNavigator* * p);
    [id(DISPID_IHTMLWINDOW2_SETINTERVAL)] HRESULT setInterval([in] BSTR expression,[in] long msec,[optional, in] VARIANT* language,[retval, out] long* timerID);
    [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)] HRESULT clearInterval([in] long timerID);
    [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)] HRESULT offscreenBuffering([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)] HRESULT offscreenBuffering([retval, out] VARIANT * p);
    [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)] HRESULT execScript([in] BSTR code,[defaultvalue("JScript"), in] BSTR language,[retval, out] VARIANT* pvarRet);
    [id(DISPID_IHTMLWINDOW2_TOSTRING)] HRESULT toString([retval, out] BSTR* String);
    [id(DISPID_IHTMLWINDOW2_SCROLLBY)] HRESULT scrollBy([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_SCROLLTO)] HRESULT scrollTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_MOVETO)] HRESULT moveTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_MOVEBY)] HRESULT moveBy([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_RESIZETO)] HRESULT resizeTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_RESIZEBY)] HRESULT resizeBy([in] long x,[in] long y);
    [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)] HRESULT external([retval, out] IDispatch* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLWindow3 : IDispatch
{
    [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)] HRESULT screenLeft([retval, out] long * p);
    [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)] HRESULT screenTop([retval, out] long * p);
    [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)] HRESULT attachEvent([in] BSTR event,[in] IDispatch* pDisp,[retval, out] VARIANT_BOOL* pfResult);
    [id(DISPID_IHTMLWINDOW3_DETACHEVENT)] HRESULT detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)] HRESULT setTimeout([in] VARIANT* expression,[in] long msec,[optional, in] VARIANT* language,[retval, out] long* timerID);
    [id(DISPID_IHTMLWINDOW3_SETINTERVAL)] HRESULT setInterval([in] VARIANT* expression,[in] long msec,[optional, in] VARIANT* language,[retval, out] long* timerID);
    [id(DISPID_IHTMLWINDOW3_PRINT)] HRESULT print();
    [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable] HRESULT onbeforeprint([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable] HRESULT onbeforeprint([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable] HRESULT onafterprint([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable] HRESULT onafterprint([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)] HRESULT clipboardData([retval, out] IHTMLDataTransfer* * p);
    [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)] HRESULT showModelessDialog([defaultvalue(""), in] BSTR url,[optional, in] VARIANT* varArgIn,[optional, in] VARIANT* options,[retval, out] IHTMLWindow2** pDialog);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLWindow4 : IDispatch
{
    [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)] HRESULT createPopup([optional, in] VARIANT* varArgIn,[retval, out] IDispatch** ppPopup);
    [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)] HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLWindow5 : IDispatch
{
    [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)] HRESULT XMLHttpRequest([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)] HRESULT XMLHttpRequest([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510453-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLWindow6 : IDispatch
{
    [propput, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)] HRESULT XDomainRequest([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW6_XDOMAINREQUEST)] HRESULT XDomainRequest([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)] HRESULT sessionStorage([retval, out] IHTMLStorage* * p);
    [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)] HRESULT localStorage([retval, out] IHTMLStorage* * p);
    [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable] HRESULT onhashchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable] HRESULT onhashchange([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)] HRESULT maxConnectionsPerServer([retval, out] long * p);
    [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)] HRESULT postMessage([in] BSTR msg,[optional, in] VARIANT targetOrigin);
    [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)] HRESULT toStaticHTML([in] BSTR bstrHTML,[retval, out] BSTR* pbstrStaticHTML);
    [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable] HRESULT onmessage([in] VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable] HRESULT onmessage([retval, out] VARIANT * p);
    [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)] HRESULT msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
};
[
    noncreatable,
    uuid(3050f7f6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass FramesCollection
{
    [default]           interface IHTMLFramesCollection2;
};
cpp_quote("EXTERN_C const GUID CLSID_CFramesCollection;")
[
    hidden,
    uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLScreen
{
properties:
methods:
    [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)] long colorDepth();
    [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)] void bufferDepth(long v);
    [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)] long bufferDepth();
    [propget, id(DISPID_IHTMLSCREEN_WIDTH)] long width();
    [propget, id(DISPID_IHTMLSCREEN_HEIGHT)] long height();
    [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)] void updateInterval(long v);
    [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)] long updateInterval();
    [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)] long availHeight();
    [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)] long availWidth();
    [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)] VARIANT_BOOL fontSmoothingEnabled();
    [propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)] long logicalXDPI();
    [propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)] long logicalYDPI();
    [propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)] long deviceXDPI();
    [propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)] long deviceYDPI();
    [propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)] long systemXDPI();
    [propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)] long systemYDPI();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f35d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLScreen
{
    [default]           dispinterface DispHTMLScreen;
                        interface IHTMLScreen;
                        interface IHTMLScreen2;
                        interface IHTMLScreen3;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CScreen;")
[
    hidden,
    uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLWindow2
{
properties:
methods:
    [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)] VARIANT item([in] VARIANT* pvarIndex);
    [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)] long length();
    [propget, id(DISPID_IHTMLWINDOW2_FRAMES)] IHTMLFramesCollection2* frames();
    [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)] void defaultStatus(BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)] BSTR defaultStatus();
    [propput, id(DISPID_IHTMLWINDOW2_STATUS)] void status(BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_STATUS)] BSTR status();
    [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)] void clearTimeout([in] long timerID);
    [id(DISPID_IHTMLWINDOW2_ALERT)] void alert([defaultvalue(""), in] BSTR message);
    [id(DISPID_IHTMLWINDOW2_CONFIRM)] VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
    [id(DISPID_IHTMLWINDOW2_PROMPT)] VARIANT prompt([defaultvalue(""), in] BSTR message,[defaultvalue("undefined"), in] BSTR defstr);
    [propget, id(DISPID_IHTMLWINDOW2_LOCATION)] IHTMLLocation* location();
    [propget, id(DISPID_IHTMLWINDOW2_HISTORY)] IOmHistory* history();
    [id(DISPID_IHTMLWINDOW2_CLOSE)] void close();
    [propput, id(DISPID_IHTMLWINDOW2_OPENER)] void opener(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_OPENER)] VARIANT opener();
    [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)] IOmNavigator* navigator();
    [propput, id(DISPID_IHTMLWINDOW2_NAME)] void name(BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_NAME)] BSTR name();
    [propget, id(DISPID_IHTMLWINDOW2_PARENT)] IHTMLWindow2* parent();
    [id(DISPID_IHTMLWINDOW2_OPEN)] IHTMLWindow2* open([defaultvalue(""), in] BSTR url,[defaultvalue(""), in] BSTR name,[defaultvalue(""), in] BSTR features,[defaultvalue(0), in] VARIANT_BOOL replace);
    [propget, id(DISPID_IHTMLWINDOW2_SELF)] IHTMLWindow2* self();
    [propget, id(DISPID_IHTMLWINDOW2_TOP)] IHTMLWindow2* top();
    [propget, id(DISPID_IHTMLWINDOW2_WINDOW)] IHTMLWindow2* window();
    [id(DISPID_IHTMLWINDOW2_NAVIGATE)] void navigate([in] BSTR url);
    [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable] void onbeforeunload(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable] VARIANT onbeforeunload();
    [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable] void onunload(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable] VARIANT onunload();
    [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source] IHTMLDocument2* document();
    [propget, id(DISPID_IHTMLWINDOW2_EVENT)] IHTMLEventObj* event();
    [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)] VARIANT showModalDialog([in] BSTR dialog,[optional, in] VARIANT* varArgIn,[optional, in] VARIANT* varOptions);
    [id(DISPID_IHTMLWINDOW2_SHOWHELP)] void showHelp([in] BSTR helpURL,[optional, in] VARIANT helpArg,[defaultvalue(""), in] BSTR features);
    [propget, id(DISPID_IHTMLWINDOW2_SCREEN)] IHTMLScreen* screen();
    [id(DISPID_IHTMLWINDOW2_FOCUS)] void focus();
    [propget, id(DISPID_IHTMLWINDOW2_CLOSED)] VARIANT_BOOL closed();
    [id(DISPID_IHTMLWINDOW2_BLUR)] void blur();
    [id(DISPID_IHTMLWINDOW2_SCROLL)] void scroll([in] long x,[in] long y);
    [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)] IOmNavigator* clientInformation();
    [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)] void clearInterval([in] long timerID);
    [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)] void offscreenBuffering(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)] VARIANT offscreenBuffering();
    [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)] VARIANT execScript([in] BSTR code,[defaultvalue("JScript"), in] BSTR language);
    [id(DISPID_IHTMLWINDOW2_TOSTRING)] BSTR toString();
    [id(DISPID_IHTMLWINDOW2_SCROLLBY)] void scrollBy([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_SCROLLTO)] void scrollTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_MOVETO)] void moveTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_MOVEBY)] void moveBy([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_RESIZETO)] void resizeTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_RESIZEBY)] void resizeBy([in] long x,[in] long y);
    [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)] IDispatch* external();
    [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)] long screenLeft();
    [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)] long screenTop();
    [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLWINDOW3_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)] long setTimeout([in] VARIANT* expression,[in] long msec,[optional, in] VARIANT* language);
    [id(DISPID_IHTMLWINDOW3_SETINTERVAL)] long setInterval([in] VARIANT* expression,[in] long msec,[optional, in] VARIANT* language);
    [id(DISPID_IHTMLWINDOW3_PRINT)] void print();
    [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable] void onbeforeprint(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable] VARIANT onbeforeprint();
    [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable] void onafterprint(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable] VARIANT onafterprint();
    [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)] IHTMLDataTransfer* clipboardData();
    [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)] IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,[optional, in] VARIANT* varArgIn,[optional, in] VARIANT* options);
    [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)] IDispatch* createPopup([optional, in] VARIANT* varArgIn);
    [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)] IHTMLFrameBase* frameElement();
    [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)] IHTMLStorage* sessionStorage();
    [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)] IHTMLStorage* localStorage();
    [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable] void onhashchange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable] VARIANT onhashchange();
    [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)] long maxConnectionsPerServer();
    [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)] void postMessage([in] BSTR msg,[optional, in] VARIANT targetOrigin);
    [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)] BSTR toStaticHTML([in] BSTR bstrHTML);
    [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable] void onmessage(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable] VARIANT onmessage();
    [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)] void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(D48A6EC6-6A4A-11cf-94A7-444553540000)
]
coclass HTMLWindow2
{
    [default]           dispinterface DispHTMLWindow2;
    [source, default]   dispinterface HTMLWindowEvents;
    [source]            dispinterface HTMLWindowEvents2;
    [source]            dispinterface HTMLWindowEvents3;
                        interface IHTMLWindow2;
                        interface IHTMLWindow3;
                        interface IHTMLWindow4;
                        interface IHTMLWindow5;
                        interface IHTMLWindow6;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CWindow;")
[
    hidden,
    uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLWindowProxy
{
properties:
methods:
    [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)] VARIANT item([in] VARIANT* pvarIndex);
    [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)] long length();
    [propget, id(DISPID_IHTMLWINDOW2_FRAMES)] IHTMLFramesCollection2* frames();
    [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)] void defaultStatus(BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)] BSTR defaultStatus();
    [propput, id(DISPID_IHTMLWINDOW2_STATUS)] void status(BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_STATUS)] BSTR status();
    [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)] void clearTimeout([in] long timerID);
    [id(DISPID_IHTMLWINDOW2_ALERT)] void alert([defaultvalue(""), in] BSTR message);
    [id(DISPID_IHTMLWINDOW2_CONFIRM)] VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
    [id(DISPID_IHTMLWINDOW2_PROMPT)] VARIANT prompt([defaultvalue(""), in] BSTR message,[defaultvalue("undefined"), in] BSTR defstr);
    [propget, id(DISPID_IHTMLWINDOW2_LOCATION)] IHTMLLocation* location();
    [propget, id(DISPID_IHTMLWINDOW2_HISTORY)] IOmHistory* history();
    [id(DISPID_IHTMLWINDOW2_CLOSE)] void close();
    [propput, id(DISPID_IHTMLWINDOW2_OPENER)] void opener(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_OPENER)] VARIANT opener();
    [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)] IOmNavigator* navigator();
    [propput, id(DISPID_IHTMLWINDOW2_NAME)] void name(BSTR v);
    [propget, id(DISPID_IHTMLWINDOW2_NAME)] BSTR name();
    [propget, id(DISPID_IHTMLWINDOW2_PARENT)] IHTMLWindow2* parent();
    [id(DISPID_IHTMLWINDOW2_OPEN)] IHTMLWindow2* open([defaultvalue(""), in] BSTR url,[defaultvalue(""), in] BSTR name,[defaultvalue(""), in] BSTR features,[defaultvalue(0), in] VARIANT_BOOL replace);
    [propget, id(DISPID_IHTMLWINDOW2_SELF)] IHTMLWindow2* self();
    [propget, id(DISPID_IHTMLWINDOW2_TOP)] IHTMLWindow2* top();
    [propget, id(DISPID_IHTMLWINDOW2_WINDOW)] IHTMLWindow2* window();
    [id(DISPID_IHTMLWINDOW2_NAVIGATE)] void navigate([in] BSTR url);
    [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable] void onbeforeunload(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable] VARIANT onbeforeunload();
    [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable] void onunload(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable] VARIANT onunload();
    [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source] IHTMLDocument2* document();
    [propget, id(DISPID_IHTMLWINDOW2_EVENT)] IHTMLEventObj* event();
    [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)] VARIANT showModalDialog([in] BSTR dialog,[optional, in] VARIANT* varArgIn,[optional, in] VARIANT* varOptions);
    [id(DISPID_IHTMLWINDOW2_SHOWHELP)] void showHelp([in] BSTR helpURL,[optional, in] VARIANT helpArg,[defaultvalue(""), in] BSTR features);
    [propget, id(DISPID_IHTMLWINDOW2_SCREEN)] IHTMLScreen* screen();
    [id(DISPID_IHTMLWINDOW2_FOCUS)] void focus();
    [propget, id(DISPID_IHTMLWINDOW2_CLOSED)] VARIANT_BOOL closed();
    [id(DISPID_IHTMLWINDOW2_BLUR)] void blur();
    [id(DISPID_IHTMLWINDOW2_SCROLL)] void scroll([in] long x,[in] long y);
    [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)] IOmNavigator* clientInformation();
    [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)] void clearInterval([in] long timerID);
    [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)] void offscreenBuffering(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)] VARIANT offscreenBuffering();
    [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)] VARIANT execScript([in] BSTR code,[defaultvalue("JScript"), in] BSTR language);
    [id(DISPID_IHTMLWINDOW2_TOSTRING)] BSTR toString();
    [id(DISPID_IHTMLWINDOW2_SCROLLBY)] void scrollBy([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_SCROLLTO)] void scrollTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_MOVETO)] void moveTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_MOVEBY)] void moveBy([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_RESIZETO)] void resizeTo([in] long x,[in] long y);
    [id(DISPID_IHTMLWINDOW2_RESIZEBY)] void resizeBy([in] long x,[in] long y);
    [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)] IDispatch* external();
    [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)] long screenLeft();
    [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)] long screenTop();
    [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLWINDOW3_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)] long setTimeout([in] VARIANT* expression,[in] long msec,[optional, in] VARIANT* language);
    [id(DISPID_IHTMLWINDOW3_SETINTERVAL)] long setInterval([in] VARIANT* expression,[in] long msec,[optional, in] VARIANT* language);
    [id(DISPID_IHTMLWINDOW3_PRINT)] void print();
    [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable] void onbeforeprint(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable] VARIANT onbeforeprint();
    [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable] void onafterprint(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable] VARIANT onafterprint();
    [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)] IHTMLDataTransfer* clipboardData();
    [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)] IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,[optional, in] VARIANT* varArgIn,[optional, in] VARIANT* options);
    [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)] IDispatch* createPopup([optional, in] VARIANT* varArgIn);
    [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)] IHTMLFrameBase* frameElement();
    [propget, id(DISPID_IHTMLWINDOW6_SESSIONSTORAGE)] IHTMLStorage* sessionStorage();
    [propget, id(DISPID_IHTMLWINDOW6_LOCALSTORAGE)] IHTMLStorage* localStorage();
    [propput, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable] void onhashchange(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW6_ONHASHCHANGE), displaybind, bindable] VARIANT onhashchange();
    [propget, id(DISPID_IHTMLWINDOW6_MAXCONNECTIONSPERSERVER)] long maxConnectionsPerServer();
    [id(DISPID_IHTMLWINDOW6_POSTMESSAGE)] void postMessage([in] BSTR msg,[optional, in] VARIANT targetOrigin);
    [id(DISPID_IHTMLWINDOW6_TOSTATICHTML)] BSTR toStaticHTML([in] BSTR bstrHTML);
    [propput, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable] void onmessage(VARIANT v);
    [propget, id(DISPID_IHTMLWINDOW6_ONMESSAGE), displaybind, bindable] VARIANT onmessage();
    [id(DISPID_IHTMLWINDOW6_MSWRITEPROFILERMARK)] void msWriteProfilerMark([in] BSTR bstrProfilerMarkName);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLWindowProxy
{
    [default]           dispinterface DispHTMLWindowProxy;
    [source, default]   dispinterface HTMLWindowEvents;
    [source]            dispinterface HTMLWindowEvents2;
    [source]            dispinterface HTMLWindowEvents3;
                        interface IHTMLWindow2;
                        interface IHTMLWindow3;
                        interface IHTMLWindow4;
                        interface IHTMLWindow5;
                        interface IHTMLWindow6;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_COmWindowProxy;")
[
    odl,
    oleautomation,
    dual,
    uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDocumentCompatibleInfo : IDispatch
{
    [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)] HRESULT userAgent([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)] HRESULT version([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDocumentCompatibleInfoCollection : IDispatch
{
    [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLDocumentCompatibleInfo** compatibleInfo);
};
[
    hidden,
    uuid(3050f53e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDocumentCompatibleInfo
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3051041b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDocumentCompatibleInfo
{
    [default]           dispinterface DispHTMLDocumentCompatibleInfo;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CDocumentVersion;")
[
    hidden,
    uuid(3050f53f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDocumentCompatibleInfoCollection
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(30510419-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDocumentCompatibleInfoCollection
{
    [default]           dispinterface DispHTMLDocumentCompatibleInfoCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CDocumentVersionCollection;")
[
    hidden,
    uuid(3050f5a0-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLDocumentEvents3
{
properties:
methods:
    [id(DISPID_HTMLDOCUMENTEVENTS3_ONSTORAGE)] void onstorage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS3_ONSTORAGECOMMIT)] void onstoragecommit([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLDocumentEvents2
{
properties:
methods:
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)] VARIANT_BOOL onstop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)] void onbeforeeditfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)] void onselectionchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLDocumentEvents
{
properties:
methods:
    [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)] VARIANT_BOOL onstop();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)] void onselectionchange();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
};
typedef enum _htmlCompatMode
{
    htmlCompatModeBackCompat = 0,
    htmlCompatModeCSS1Compat = 1,
    htmlCompatMode_Max = 2147483647L
} htmlCompatMode;

[
    odl,
    oleautomation,
    dual,
    uuid(626FC520-A41E-11cf-A731-00A0C9082637)
]
interface IHTMLDocument : IDispatch
{
    [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable] HRESULT Script([retval, out] IDispatch* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(332c4425-26cb-11d0-b483-00c04fd90119)
]
interface IHTMLDocument2 : IHTMLDocument
{
    [propget, id(DISPID_IHTMLDOCUMENT2_ALL)] HRESULT all([retval, out] IHTMLElementCollection* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_BODY)] HRESULT body([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)] HRESULT activeElement([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)] HRESULT images([retval, out] IHTMLElementCollection* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)] HRESULT applets([retval, out] IHTMLElementCollection* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)] HRESULT links([retval, out] IHTMLElementCollection* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)] HRESULT forms([retval, out] IHTMLElementCollection* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)] HRESULT anchors([retval, out] IHTMLElementCollection* * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)] HRESULT title([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)] HRESULT title([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)] HRESULT scripts([retval, out] IHTMLElementCollection* * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden] HRESULT designMode([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden] HRESULT designMode([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)] HRESULT selection([retval, out] IHTMLSelectionObject* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable] HRESULT readyState([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)] HRESULT frames([retval, out] IHTMLFramesCollection2* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)] HRESULT embeds([retval, out] IHTMLElementCollection* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)] HRESULT plugins([retval, out] IHTMLElementCollection* * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)] HRESULT alinkColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)] HRESULT alinkColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)] HRESULT bgColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)] HRESULT bgColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)] HRESULT fgColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)] HRESULT fgColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)] HRESULT linkColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)] HRESULT linkColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)] HRESULT vlinkColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)] HRESULT vlinkColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)] HRESULT referrer([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)] HRESULT location([retval, out] IHTMLLocation* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)] HRESULT lastModified([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_URL)] HRESULT URL([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_URL)] HRESULT URL([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)] HRESULT domain([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)] HRESULT domain([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)] HRESULT cookie([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)] HRESULT cookie([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden] HRESULT expando([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden] HRESULT expando([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden] HRESULT charset([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden] HRESULT charset([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)] HRESULT defaultCharset([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)] HRESULT defaultCharset([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)] HRESULT mimeType([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)] HRESULT fileSize([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)] HRESULT fileCreatedDate([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)] HRESULT fileModifiedDate([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)] HRESULT fileUpdatedDate([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)] HRESULT security([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)] HRESULT protocol([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)] HRESULT nameProp([retval, out] BSTR * p);
    [vararg,id(DISPID_IHTMLDOCUMENT2_WRITE)] HRESULT write([in] SAFEARRAY(VARIANT) psarray);
    [vararg,id(DISPID_IHTMLDOCUMENT2_WRITELN)] HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
    [id(DISPID_IHTMLDOCUMENT2_OPEN)] HRESULT open([defaultvalue("text/html"), in] BSTR url,[optional, in] VARIANT name,[optional, in] VARIANT features,[optional, in] VARIANT replace,[retval, out] IDispatch** pomWindowResult);
    [id(DISPID_IHTMLDOCUMENT2_CLOSE)] HRESULT close();
    [id(DISPID_IHTMLDOCUMENT2_CLEAR)] HRESULT clear();
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)] HRESULT queryCommandSupported([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)] HRESULT queryCommandEnabled([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)] HRESULT queryCommandState([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)] HRESULT queryCommandIndeterm([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)] HRESULT queryCommandText([in] BSTR cmdID,[retval, out] BSTR* pcmdText);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)] HRESULT queryCommandValue([in] BSTR cmdID,[retval, out] VARIANT* pcmdValue);
    [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)] HRESULT execCommand([in] BSTR cmdID,[defaultvalue(0), in] VARIANT_BOOL showUI,[optional, in] VARIANT value,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)] HRESULT execCommandShowHelp([in] BSTR cmdID,[retval, out] VARIANT_BOOL* pfRet);
    [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)] HRESULT createElement([in] BSTR eTag,[retval, out] IHTMLElement** newElem);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable] HRESULT onhelp([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable] HRESULT onhelp([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable] HRESULT onclick([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable] HRESULT onclick([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable] HRESULT ondblclick([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable] HRESULT ondblclick([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable] HRESULT onkeyup([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable] HRESULT onkeyup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable] HRESULT onkeydown([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable] HRESULT onkeydown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable] HRESULT onkeypress([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable] HRESULT onkeypress([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable] HRESULT onmouseup([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable] HRESULT onmouseup([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable] HRESULT onmousedown([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable] HRESULT onmousedown([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable] HRESULT onmousemove([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable] HRESULT onmousemove([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable] HRESULT onmouseout([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable] HRESULT onmouseout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable] HRESULT onmouseover([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable] HRESULT onmouseover([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable] HRESULT onafterupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable] HRESULT onafterupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable] HRESULT onrowexit([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable] HRESULT onrowexit([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable] HRESULT onrowenter([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable] HRESULT onrowenter([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable] HRESULT ondragstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable] HRESULT ondragstart([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable] HRESULT onselectstart([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable] HRESULT onselectstart([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)] HRESULT elementFromPoint([in] long x,[in] long y,[retval, out] IHTMLElement** elementHit);
    [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)] HRESULT parentWindow([retval, out] IHTMLWindow2* * p);
    [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)] HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection* * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable] HRESULT onbeforeupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable] HRESULT onbeforeupdate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable] HRESULT onerrorupdate([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable] HRESULT onerrorupdate([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDOCUMENT2_TOSTRING)] HRESULT toString([retval, out] BSTR* String);
    [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)] HRESULT createStyleSheet([defaultvalue(""), in] BSTR bstrHref,[defaultvalue(-1), in] long lIndex,[retval, out] IHTMLStyleSheet** ppnewStyleSheet);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDocument3 : IDispatch
{
    [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)] HRESULT releaseCapture();
    [id(DISPID_IHTMLDOCUMENT3_RECALC)] HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
    [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)] HRESULT createTextNode([in] BSTR text,[retval, out] IHTMLDOMNode** newTextNode);
    [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)] HRESULT documentElement([retval, out] IHTMLElement* * p);
    [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden] HRESULT uniqueID([retval, out] BSTR * p);
    [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)] HRESULT attachEvent([in] BSTR event,[in] IDispatch* pDisp,[retval, out] VARIANT_BOOL* pfResult);
    [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)] HRESULT detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable] HRESULT onrowsdelete([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable] HRESULT onrowsdelete([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable] HRESULT onrowsinserted([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable] HRESULT onrowsinserted([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable] HRESULT oncellchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable] HRESULT oncellchange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable] HRESULT ondatasetchanged([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable] HRESULT ondatasetchanged([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable] HRESULT ondataavailable([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable] HRESULT ondataavailable([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable] HRESULT ondatasetcomplete([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable] HRESULT ondatasetcomplete([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable] HRESULT onpropertychange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable] HRESULT onpropertychange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_DIR)] HRESULT dir([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT3_DIR)] HRESULT dir([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable] HRESULT oncontextmenu([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable] HRESULT oncontextmenu([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable] HRESULT onstop([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable] HRESULT onstop([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)] HRESULT createDocumentFragment([retval, out] IHTMLDocument2** pNewDoc);
    [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted] HRESULT parentDocument([retval, out] IHTMLDocument2* * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted] HRESULT enableDownload([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted] HRESULT enableDownload([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted] HRESULT baseUrl([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted] HRESULT baseUrl([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)] HRESULT childNodes([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted] HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted] HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable] HRESULT onbeforeeditfocus([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable] HRESULT onbeforeeditfocus([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)] HRESULT getElementsByName([in] BSTR v,[retval, out] IHTMLElementCollection** pelColl);
    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)] HRESULT getElementById([in] BSTR v,[retval, out] IHTMLElement** pel);
    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)] HRESULT getElementsByTagName([in] BSTR v,[retval, out] IHTMLElementCollection** pelColl);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDocument4 : IDispatch
{
    [id(DISPID_IHTMLDOCUMENT4_FOCUS)] HRESULT focus();
    [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)] HRESULT hasFocus([retval, out] VARIANT_BOOL* pfFocus);
    [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable] HRESULT onselectionchange([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable] HRESULT onselectionchange([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)] HRESULT namespaces([retval, out] IDispatch* * p);
    [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)] HRESULT createDocumentFromUrl([in] BSTR bstrUrl,[in] BSTR bstrOptions,[retval, out] IHTMLDocument2** newDoc);
    [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)] HRESULT media([in] BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)] HRESULT media([retval, out] BSTR * p);
    [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)] HRESULT createEventObject([optional, in] VARIANT* pvarEventObject,[retval, out] IHTMLEventObj** ppEventObj);
    [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)] HRESULT fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject,[retval, out] VARIANT_BOOL* pfCancelled);
    [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)] HRESULT createRenderStyle([in] BSTR v,[retval, out] IHTMLRenderStyle** ppIHTMLRenderStyle);
    [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable] HRESULT oncontrolselect([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable] HRESULT oncontrolselect([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)] HRESULT URLUnencoded([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDocument5 : IDispatch
{
    [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable] HRESULT onmousewheel([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable] HRESULT onmousewheel([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)] HRESULT doctype([retval, out] IHTMLDOMNode* * p);
    [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)] HRESULT implementation([retval, out] IHTMLDOMImplementation* * p);
    [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)] HRESULT createAttribute([in] BSTR bstrattrName,[retval, out] IHTMLDOMAttribute** ppattribute);
    [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)] HRESULT createComment([in] BSTR bstrdata,[retval, out] IHTMLDOMNode** ppRetNode);
    [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable] HRESULT onfocusin([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable] HRESULT onfocusin([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable] HRESULT onfocusout([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable] HRESULT onfocusout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable] HRESULT onactivate([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable] HRESULT onactivate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable] HRESULT ondeactivate([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable] HRESULT ondeactivate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable] HRESULT onbeforeactivate([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable] HRESULT onbeforeactivate([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable] HRESULT onbeforedeactivate([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable] HRESULT onbeforedeactivate([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)] HRESULT compatMode([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510417-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDocument6 : IDispatch
{
    [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)] HRESULT compatible([retval, out] IHTMLDocumentCompatibleInfoCollection* * p);
    [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)] HRESULT documentMode([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable] HRESULT onstorage([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable] HRESULT onstorage([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable] HRESULT onstoragecommit([in] VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable] HRESULT onstoragecommit([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)] HRESULT getElementById([in] BSTR bstrId,[retval, out] IHTMLElement2** ppRetElement);
    [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)] HRESULT updateSettings();
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510462-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDocumentSelector : IDispatch
{
    [id(DISPID_IDOCUMENTSELECTOR_QUERYSELECTOR)] HRESULT querySelector([in] BSTR v,[retval, out] IHTMLElement** pel);
    [id(DISPID_IDOCUMENTSELECTOR_QUERYSELECTORALL)] HRESULT querySelectorAll([in] BSTR v,[retval, out] IHTMLDOMChildrenCollection** pel);
};
[
    hidden,
    uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDocument
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable] IDispatch* Script();
    [propget, id(DISPID_IHTMLDOCUMENT2_ALL)] IHTMLElementCollection* all();
    [propget, id(DISPID_IHTMLDOCUMENT2_BODY)] IHTMLElement* body();
    [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)] IHTMLElement* activeElement();
    [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)] IHTMLElementCollection* images();
    [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)] IHTMLElementCollection* applets();
    [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)] IHTMLElementCollection* links();
    [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)] IHTMLElementCollection* forms();
    [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)] IHTMLElementCollection* anchors();
    [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)] void title(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)] BSTR title();
    [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)] IHTMLElementCollection* scripts();
    [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden] void designMode(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden] BSTR designMode();
    [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)] IHTMLSelectionObject* selection();
    [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable] BSTR readyState();
    [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)] IHTMLFramesCollection2* frames();
    [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)] IHTMLElementCollection* embeds();
    [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)] IHTMLElementCollection* plugins();
    [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)] void alinkColor(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)] VARIANT alinkColor();
    [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)] void bgColor(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)] VARIANT bgColor();
    [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)] void fgColor(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)] VARIANT fgColor();
    [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)] void linkColor(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)] VARIANT linkColor();
    [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)] void vlinkColor(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)] VARIANT vlinkColor();
    [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)] BSTR referrer();
    [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)] IHTMLLocation* location();
    [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)] BSTR lastModified();
    [propput, id(DISPID_IHTMLDOCUMENT2_URL)] void URL(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_URL)] BSTR URL();
    [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)] void domain(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)] BSTR domain();
    [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)] void cookie(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)] BSTR cookie();
    [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden] void expando(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden] VARIANT_BOOL expando();
    [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden] void charset(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden] BSTR charset();
    [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)] void defaultCharset(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)] BSTR defaultCharset();
    [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)] BSTR mimeType();
    [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)] BSTR fileSize();
    [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)] BSTR fileCreatedDate();
    [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)] BSTR fileModifiedDate();
    [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)] BSTR fileUpdatedDate();
    [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)] BSTR security();
    [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)] BSTR protocol();
    [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)] BSTR nameProp();
    [vararg,id(DISPID_IHTMLDOCUMENT2_WRITE)] void write([in] SAFEARRAY(VARIANT) psarray);
    [vararg,id(DISPID_IHTMLDOCUMENT2_WRITELN)] void writeln([in] SAFEARRAY(VARIANT) psarray);
    [id(DISPID_IHTMLDOCUMENT2_OPEN)] IDispatch* open([defaultvalue("text/html"), in] BSTR url,[optional, in] VARIANT name,[optional, in] VARIANT features,[optional, in] VARIANT replace);
    [id(DISPID_IHTMLDOCUMENT2_CLOSE)] void close();
    [id(DISPID_IHTMLDOCUMENT2_CLEAR)] void clear();
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)] VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)] VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)] VARIANT_BOOL queryCommandState([in] BSTR cmdID);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)] VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)] BSTR queryCommandText([in] BSTR cmdID);
    [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)] VARIANT queryCommandValue([in] BSTR cmdID);
    [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)] VARIANT_BOOL execCommand([in] BSTR cmdID,[defaultvalue(0), in] VARIANT_BOOL showUI,[optional, in] VARIANT value);
    [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)] VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
    [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)] IHTMLElement* createElement([in] BSTR eTag);
    [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)] IHTMLElement* elementFromPoint([in] long x,[in] long y);
    [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)] IHTMLWindow2* parentWindow();
    [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)] IHTMLStyleSheetsCollection* styleSheets();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [id(DISPID_IHTMLDOCUMENT2_TOSTRING)] BSTR toString();
    [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)] IHTMLStyleSheet* createStyleSheet([defaultvalue(""), in] BSTR bstrHref,[defaultvalue(-1), in] long lIndex);
    [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)] void releaseCapture();
    [id(DISPID_IHTMLDOCUMENT3_RECALC)] void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
    [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)] IHTMLDOMNode* createTextNode([in] BSTR text);
    [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)] IHTMLElement* documentElement();
    [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden] BSTR uniqueID();
    [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [propput, id(DISPID_IHTMLDOCUMENT3_DIR)] void dir(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT3_DIR)] BSTR dir();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable] void onstop(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable] VARIANT onstop();
    [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)] IHTMLDocument2* createDocumentFragment();
    [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted] IHTMLDocument2* parentDocument();
    [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted] void enableDownload(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted] VARIANT_BOOL enableDownload();
    [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted] void baseUrl(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted] BSTR baseUrl();
    [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted] void inheritStyleSheets(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted] VARIANT_BOOL inheritStyleSheets();
    [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)] IHTMLElementCollection* getElementsByName([in] BSTR v);
    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)] IHTMLElement* getElementById([in] BSTR v);
    [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLDOCUMENT4_FOCUS)] void focus();
    [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)] VARIANT_BOOL hasFocus();
    [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable] void onselectionchange(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable] VARIANT onselectionchange();
    [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)] IDispatch* namespaces();
    [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)] IHTMLDocument2* createDocumentFromUrl([in] BSTR bstrUrl,[in] BSTR bstrOptions);
    [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)] void media(BSTR v);
    [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)] BSTR media();
    [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)] IHTMLEventObj* createEventObject([optional, in] VARIANT* pvarEventObject);
    [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)] IHTMLRenderStyle* createRenderStyle([in] BSTR v);
    [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)] BSTR URLUnencoded();
    [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)] IHTMLDOMNode* doctype();
    [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)] IHTMLDOMImplementation* implementation();
    [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)] IHTMLDOMAttribute* createAttribute([in] BSTR bstrattrName);
    [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)] IHTMLDOMNode* createComment([in] BSTR bstrdata);
    [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)] BSTR compatMode();
    [propget, id(DISPID_IHTMLDOCUMENT6_COMPATIBLE)] IHTMLDocumentCompatibleInfoCollection* compatible();
    [propget, id(DISPID_IHTMLDOCUMENT6_DOCUMENTMODE)] VARIANT documentMode();
    [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable] void onstorage(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGE), displaybind, bindable] VARIANT onstorage();
    [propput, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable] void onstoragecommit(VARIANT v);
    [propget, id(DISPID_IHTMLDOCUMENT6_ONSTORAGECOMMIT), displaybind, bindable] VARIANT onstoragecommit();
    [id(DISPID_IHTMLDOCUMENT6_IE8_GETELEMENTBYID)] IHTMLElement2* ie8_getElementById([in] BSTR bstrId);
    [id(DISPID_IHTMLDOCUMENT6_UPDATESETTINGS)] void updateSettings();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IDOCUMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IDOCUMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
]
coclass HTMLDocument
{
    [default]           dispinterface DispHTMLDocument;
    [source, default]   dispinterface HTMLDocumentEvents;
    [source]            dispinterface HTMLDocumentEvents2;
    [source]            dispinterface HTMLDocumentEvents3;
                        interface IHTMLDocument2;
                        interface IHTMLDocument3;
                        interface IHTMLDocument4;
                        interface IHTMLDocument5;
                        interface IHTMLDocument6;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IDocumentSelector;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CDocument;")
[
    hidden,
    uuid(A6D897FF-0A95-11d1-B0BA-006008166E11)
]
dispinterface DWebBridgeEvents
{
properties:
methods:
    [id(DISPID_DWEBBRIDGEEVENTS_ONSCRIPTLETEVENT)] void onscriptletevent([in] BSTR name,[in] VARIANT eventData);
    [id(DISPID_DWEBBRIDGEEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_DWEBBRIDGEEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_DWEBBRIDGEEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_DWEBBRIDGEEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_DWEBBRIDGEEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_DWEBBRIDGEEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_DWEBBRIDGEEVENTS_ONMOUSEUP)] void onmouseup();
};
[
    odl,
    oleautomation,
    dual,
    uuid(AE24FDAD-03C6-11D1-8B76-0080C744F389)
]
interface IWebBridge : IDispatch
{
    [propput, id(DISPID_IWEBBRIDGE_URL)] HRESULT URL([in] BSTR v);
    [propget, id(DISPID_IWEBBRIDGE_URL)] HRESULT URL([retval, out] BSTR * p);
    [propput, id(DISPID_IWEBBRIDGE_SCROLLBAR)] HRESULT Scrollbar([in] VARIANT_BOOL v);
    [propget, id(DISPID_IWEBBRIDGE_SCROLLBAR)] HRESULT Scrollbar([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IWEBBRIDGE_EMBED)] HRESULT embed([in] VARIANT_BOOL v);
    [propget, id(DISPID_IWEBBRIDGE_EMBED)] HRESULT embed([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IWEBBRIDGE_EVENT)] HRESULT event([retval, out] IDispatch* * p);
    [propget, id(DISPID_IWEBBRIDGE_READYSTATE)] HRESULT readyState([retval, out] long * p);
    [id(DISPID_IWEBBRIDGE_ABOUTBOX)] HRESULT AboutBox();
};
[
    odl,
    oleautomation,
    dual,
    uuid(A5170870-0CF8-11D1-8B91-0080C744F389)
]
interface IWBScriptControl : IDispatch
{
    [id(DISPID_IWBSCRIPTCONTROL_RAISEEVENT)] HRESULT raiseEvent([in] BSTR name,[in] VARIANT eventData);
    [id(DISPID_IWBSCRIPTCONTROL_BUBBLEEVENT)] HRESULT bubbleEvent();
    [id(DISPID_IWBSCRIPTCONTROL_SETCONTEXTMENU)] HRESULT setContextMenu([in] VARIANT menuItemPairs);
    [propput, id(DISPID_IWBSCRIPTCONTROL_SELECTABLECONTENT)] HRESULT selectableContent([in] VARIANT_BOOL v);
    [propget, id(DISPID_IWBSCRIPTCONTROL_SELECTABLECONTENT)] HRESULT selectableContent([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IWBSCRIPTCONTROL_FROZEN)] HRESULT frozen([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IWBSCRIPTCONTROL_SCROLLBAR)] HRESULT scrollbar([in] VARIANT_BOOL v);
    [propget, id(DISPID_IWBSCRIPTCONTROL_SCROLLBAR)] HRESULT scrollbar([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IWBSCRIPTCONTROL_VERSION)] HRESULT version([retval, out] BSTR * p);
    [propget, id(DISPID_IWBSCRIPTCONTROL_VISIBILITY)] HRESULT visibility([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IWBSCRIPTCONTROL_ONVISIBILITYCHANGE)] HRESULT onvisibilitychange([in] VARIANT v);
    [propget, id(DISPID_IWBSCRIPTCONTROL_ONVISIBILITYCHANGE)] HRESULT onvisibilitychange([retval, out] VARIANT * p);
};
[
    control,
    uuid(AE24FDAE-03C6-11D1-8B76-0080C744F389)
]
coclass Scriptlet
{
    [default]           interface IWebBridge;
    [source, default]   dispinterface DWebBridgeEvents;
};
cpp_quote("EXTERN_C const GUID CLSID_CScriptlet;")
typedef enum _BoolValue
{
    True = 1,
    False = 0,
    BoolValue_Max = 2147483647L
} BoolValue;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f25f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEmbedElement : IDispatch
{
    [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)] HRESULT hidden([in] BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)] HRESULT hidden([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)] HRESULT palette([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)] HRESULT pluginspage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)] HRESULT units([in] BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)] HRESULT units([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)] HRESULT height([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510493-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEmbedElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)] HRESULT src([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)] HRESULT pluginspage([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f52e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLEmbed
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)] void hidden(BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_HIDDEN)] BSTR hidden();
    [propget, id(DISPID_IHTMLEMBEDELEMENT_PALETTE)] BSTR palette();
    [propget, id(DISPID_IHTMLEMBEDELEMENT_PLUGINSPAGE)] BSTR pluginspage();
    [propput, id(DISPID_IHTMLEMBEDELEMENT_SRC)] void src(BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_SRC)] BSTR src();
    [propput, id(DISPID_IHTMLEMBEDELEMENT_UNITS)] void units(BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_UNITS)] BSTR units();
    [propput, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_WIDTH)] VARIANT width();
    [propput, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)] void height(VARIANT v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT_HEIGHT)] VARIANT height();
    [propput, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)] void ie8_src(BSTR v);
    [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_SRC)] BSTR ie8_src();
    [propget, id(DISPID_IHTMLEMBEDELEMENT2_IE8_PLUGINSPAGE)] BSTR ie8_pluginspage();
};
[
    noncreatable,
    uuid(3050f25d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLEmbed
{
    [default]           dispinterface DispHTMLEmbed;
    [source, default]   dispinterface HTMLControlElementEvents;
    [source]            dispinterface HTMLControlElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLEmbedElement;
                        interface IHTMLEmbedElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CPluginSite;")
[
    hidden,
    uuid(3050f61e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLMapEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f3ba-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLMapEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f383-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAreasCollection : IDispatch
{
    [propput, id(DISPID_IHTMLAREASCOLLECTION_LENGTH)] HRESULT length([in] long v);
    [propget, id(DISPID_IHTMLAREASCOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLAREASCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLAREASCOLLECTION_ITEM)] HRESULT item([optional, in] VARIANT name,[optional, in] VARIANT index,[retval, out] IDispatch** pdisp);
    [id(DISPID_IHTMLAREASCOLLECTION_TAGS)] HRESULT tags([in] VARIANT tagName,[retval, out] IDispatch** pdisp);
    [id(DISPID_IHTMLAREASCOLLECTION_ADD)] HRESULT add([in] IHTMLElement* element,[optional, in] VARIANT before);
    [id(DISPID_IHTMLAREASCOLLECTION_REMOVE)] HRESULT remove([defaultvalue(-1), in] long index);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5ec-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAreasCollection2 : IDispatch
{
    [id(DISPID_IHTMLAREASCOLLECTION2_URNS)] HRESULT urns([in] VARIANT urn,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f837-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAreasCollection3 : IDispatch
{
    [id(DISPID_IHTMLAREASCOLLECTION3_NAMEDITEM)] HRESULT namedItem([in] BSTR name,[retval, out] IDispatch** pdisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510492-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAreasCollection4 : IDispatch
{
    [propget, id(DISPID_IHTMLAREASCOLLECTION4_IE8_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLAREASCOLLECTION4_IE8_ITEM)] HRESULT item([in] long index,[retval, out] IHTMLElement2** pNode);
    [id(DISPID_IHTMLAREASCOLLECTION4_IE8_NAMEDITEM)] HRESULT namedItem([in] BSTR name,[retval, out] IHTMLElement2** pNode);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f266-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLMapElement : IDispatch
{
    [propget, id(DISPID_IHTMLMAPELEMENT_AREAS)] HRESULT areas([retval, out] IHTMLAreasCollection* * p);
    [propput, id(DISPID_IHTMLMAPELEMENT_NAME)] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLMAPELEMENT_NAME)] HRESULT name([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f56a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLAreasCollection
{
properties:
methods:
    [propput, id(DISPID_IHTMLAREASCOLLECTION_LENGTH)] void length(long v);
    [propget, id(DISPID_IHTMLAREASCOLLECTION_LENGTH)] long length();
    [propget, id(DISPID_IHTMLAREASCOLLECTION__NEWENUM), hidden, restricted] IUnknown* _newEnum();
    [id(DISPID_IHTMLAREASCOLLECTION_ITEM)] IDispatch* item([optional, in] VARIANT name,[optional, in] VARIANT index);
    [id(DISPID_IHTMLAREASCOLLECTION_TAGS)] IDispatch* tags([in] VARIANT tagName);
    [id(DISPID_IHTMLAREASCOLLECTION_ADD)] void add([in] IHTMLElement* element,[optional, in] VARIANT before);
    [id(DISPID_IHTMLAREASCOLLECTION_REMOVE)] void remove([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLAREASCOLLECTION2_URNS)] IDispatch* urns([in] VARIANT urn);
    [id(DISPID_IHTMLAREASCOLLECTION3_NAMEDITEM)] IDispatch* namedItem([in] BSTR name);
    [propget, id(DISPID_IHTMLAREASCOLLECTION4_IE8_LENGTH)] long ie8_length();
    [id(DISPID_IHTMLAREASCOLLECTION4_IE8_ITEM)] IHTMLElement2* ie8_item([in] long index);
    [id(DISPID_IHTMLAREASCOLLECTION4_IE8_NAMEDITEM)] IHTMLElement2* ie8_namedItem([in] BSTR name);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f4ca-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLAreasCollection
{
    [default]           dispinterface DispHTMLAreasCollection;
                        interface IHTMLAreasCollection;
                        interface IHTMLAreasCollection2;
                        interface IHTMLAreasCollection3;
                        interface IHTMLAreasCollection4;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CAreasCollection;")
[
    hidden,
    uuid(3050f526-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLMapElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propget, id(DISPID_IHTMLMAPELEMENT_AREAS)] IHTMLAreasCollection* areas();
    [propput, id(DISPID_IHTMLMAPELEMENT_NAME)] void name(BSTR v);
    [propget, id(DISPID_IHTMLMAPELEMENT_NAME)] BSTR name();
};
[
    noncreatable,
    uuid(3050f271-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLMapElement
{
    [default]           dispinterface DispHTMLMapElement;
    [source, default]   dispinterface HTMLMapEvents;
    [source]            dispinterface HTMLMapEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLMapElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CMapElement;")
[
    hidden,
    uuid(3050f611-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLAreaEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f366-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLAreaEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f265-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAreaElement : IDispatch
{
    [propput, id(DISPID_IHTMLAREAELEMENT_SHAPE)] HRESULT shape([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_SHAPE)] HRESULT shape([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_COORDS)] HRESULT coords([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_COORDS)] HRESULT coords([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_HREF)] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_HREF)] HRESULT href([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_TARGET)] HRESULT target([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_TARGET)] HRESULT target([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_ALT)] HRESULT alt([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_ALT)] HRESULT alt([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_NOHREF)] HRESULT noHref([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLAREAELEMENT_NOHREF)] HRESULT noHref([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_HOST)] HRESULT host([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_HOST)] HRESULT host([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_HOSTNAME)] HRESULT hostname([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_HOSTNAME)] HRESULT hostname([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_PATHNAME)] HRESULT pathname([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_PATHNAME)] HRESULT pathname([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_PORT)] HRESULT port([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_PORT)] HRESULT port([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_PROTOCOL)] HRESULT protocol([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_PROTOCOL)] HRESULT protocol([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_SEARCH)] HRESULT search([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_SEARCH)] HRESULT search([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_HASH)] HRESULT hash([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_HASH)] HRESULT hash([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_ONBLUR), displaybind, bindable] HRESULT onblur([in] VARIANT v);
    [propget, id(DISPID_IHTMLAREAELEMENT_ONBLUR), displaybind, bindable] HRESULT onblur([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_ONFOCUS), displaybind, bindable] HRESULT onfocus([in] VARIANT v);
    [propget, id(DISPID_IHTMLAREAELEMENT_ONFOCUS), displaybind, bindable] HRESULT onfocus([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLAREAELEMENT_TABINDEX), displaybind, bindable] HRESULT tabIndex([in] short v);
    [propget, id(DISPID_IHTMLAREAELEMENT_TABINDEX), displaybind, bindable] HRESULT tabIndex([retval, out] short * p);
    [id(DISPID_IHTMLAREAELEMENT_FOCUS)] HRESULT focus();
    [id(DISPID_IHTMLAREAELEMENT_BLUR)] HRESULT blur();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051041f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAreaElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_SHAPE)] HRESULT shape([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_SHAPE)] HRESULT shape([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_COORDS)] HRESULT coords([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_COORDS)] HRESULT coords([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_HREF)] HRESULT href([in] BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_HREF)] HRESULT href([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f503-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLAreaElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLAREAELEMENT_SHAPE)] void shape(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_SHAPE)] BSTR shape();
    [propput, id(DISPID_IHTMLAREAELEMENT_COORDS)] void coords(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_COORDS)] BSTR coords();
    [propput, id(DISPID_IHTMLAREAELEMENT_HREF)] void href(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_HREF)] BSTR href();
    [propput, id(DISPID_IHTMLAREAELEMENT_TARGET)] void target(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_TARGET)] BSTR target();
    [propput, id(DISPID_IHTMLAREAELEMENT_ALT)] void alt(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_ALT)] BSTR alt();
    [propput, id(DISPID_IHTMLAREAELEMENT_NOHREF)] void noHref(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLAREAELEMENT_NOHREF)] VARIANT_BOOL noHref();
    [propput, id(DISPID_IHTMLAREAELEMENT_HOST)] void host(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_HOST)] BSTR host();
    [propput, id(DISPID_IHTMLAREAELEMENT_HOSTNAME)] void hostname(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_HOSTNAME)] BSTR hostname();
    [propput, id(DISPID_IHTMLAREAELEMENT_PATHNAME)] void pathname(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_PATHNAME)] BSTR pathname();
    [propput, id(DISPID_IHTMLAREAELEMENT_PORT)] void port(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_PORT)] BSTR port();
    [propput, id(DISPID_IHTMLAREAELEMENT_PROTOCOL)] void protocol(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_PROTOCOL)] BSTR protocol();
    [propput, id(DISPID_IHTMLAREAELEMENT_SEARCH)] void search(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_SEARCH)] BSTR search();
    [propput, id(DISPID_IHTMLAREAELEMENT_HASH)] void hash(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT_HASH)] BSTR hash();
    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_SHAPE)] void ie8_shape(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_SHAPE)] BSTR ie8_shape();
    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_COORDS)] void ie8_coords(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_COORDS)] BSTR ie8_coords();
    [propput, id(DISPID_IHTMLAREAELEMENT2_IE8_HREF)] void ie8_href(BSTR v);
    [propget, id(DISPID_IHTMLAREAELEMENT2_IE8_HREF)] BSTR ie8_href();
};
[
    noncreatable,
    uuid(3050f283-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLAreaElement
{
    [default]           dispinterface DispHTMLAreaElement;
    [source, default]   dispinterface HTMLAreaEvents;
    [source]            dispinterface HTMLAreaEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLAreaElement;
                        interface IHTMLAreaElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CAreaElement;")
typedef enum _htmlCaptionAlign
{
    htmlCaptionAlignNotSet = 0,
    htmlCaptionAlignLeft = 1,
    htmlCaptionAlignCenter = 2,
    htmlCaptionAlignRight = 3,
    htmlCaptionAlignJustify = 4,
    htmlCaptionAlignTop = 5,
    htmlCaptionAlignBottom = 6,
    htmlCaptionAlign_Max = 2147483647L
} htmlCaptionAlign;

typedef enum _htmlCaptionVAlign
{
    htmlCaptionVAlignNotSet = 0,
    htmlCaptionVAlignTop = 1,
    htmlCaptionVAlignBottom = 2,
    htmlCaptionVAlign_Max = 2147483647L
} htmlCaptionVAlign;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableCaption : IDispatch
{
    [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)] HRESULT vAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)] HRESULT vAlign([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f508-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTableCaption
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)] void align(BSTR v);
    [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)] BSTR align();
    [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)] void vAlign(BSTR v);
    [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)] BSTR vAlign();
};
[
    noncreatable,
    uuid(3050f2ec-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTableCaption
{
    [default]           dispinterface DispHTMLTableCaption;
    [source, default]   dispinterface HTMLTextContainerEvents;
    [source]            dispinterface HTMLTextContainerEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLTableCaption;
};
cpp_quote("EXTERN_C const GUID CLSID_CTableCaption;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCommentElement : IDispatch
{
    [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable] HRESULT text([in] BSTR v);
    [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable] HRESULT text([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable] HRESULT atomic([in] long v);
    [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable] HRESULT atomic([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCommentElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)] HRESULT data([in] BSTR v);
    [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)] HRESULT data([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)] HRESULT substringData([in] long offset,[in] long Count,[retval, out] BSTR* pbstrsubString);
    [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)] HRESULT appendData([in] BSTR bstrstring);
    [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)] HRESULT insertData([in] long offset,[in] BSTR bstrstring);
    [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)] HRESULT deleteData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)] HRESULT replaceData([in] long offset,[in] long Count,[in] BSTR bstrstring);
};
[
    hidden,
    uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLCommentElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable] void text(BSTR v);
    [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable] BSTR text();
    [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable] void atomic(long v);
    [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable] long atomic();
    [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)] void data(BSTR v);
    [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)] BSTR data();
    [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)] long length();
    [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)] BSTR substringData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)] void appendData([in] BSTR bstrstring);
    [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)] void insertData([in] long offset,[in] BSTR bstrstring);
    [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)] void deleteData([in] long offset,[in] long Count);
    [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)] void replaceData([in] long offset,[in] long Count,[in] BSTR bstrstring);
};
[
    noncreatable,
    uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLCommentElement
{
    [default]           dispinterface DispHTMLCommentElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLCommentElement;
                        interface IHTMLCommentElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CCommentElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f20a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPhraseElement : IDispatch
{
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f824-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPhraseElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLPHRASEELEMENT2_CITE), displaybind, bindable] HRESULT cite([in] BSTR v);
    [propget, id(DISPID_IHTMLPHRASEELEMENT2_CITE), displaybind, bindable] HRESULT cite([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLPHRASEELEMENT2_DATETIME), displaybind, bindable] HRESULT dateTime([in] BSTR v);
    [propget, id(DISPID_IHTMLPHRASEELEMENT2_DATETIME), displaybind, bindable] HRESULT dateTime([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051043d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPhraseElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLPHRASEELEMENT3_IE8_CITE)] HRESULT cite([in] BSTR v);
    [propget, id(DISPID_IHTMLPHRASEELEMENT3_IE8_CITE)] HRESULT cite([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3f3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSpanElement : IDispatch
{
};
[
    hidden,
    uuid(3050f52d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLPhraseElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLPHRASEELEMENT2_CITE), displaybind, bindable] void cite(BSTR v);
    [propget, id(DISPID_IHTMLPHRASEELEMENT2_CITE), displaybind, bindable] BSTR cite();
    [propput, id(DISPID_IHTMLPHRASEELEMENT2_DATETIME), displaybind, bindable] void dateTime(BSTR v);
    [propget, id(DISPID_IHTMLPHRASEELEMENT2_DATETIME), displaybind, bindable] BSTR dateTime();
    [propput, id(DISPID_IHTMLPHRASEELEMENT3_IE8_CITE)] void ie8_cite(BSTR v);
    [propget, id(DISPID_IHTMLPHRASEELEMENT3_IE8_CITE)] BSTR ie8_cite();
};
[
    noncreatable,
    uuid(3050f26e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLPhraseElement
{
    [default]           dispinterface DispHTMLPhraseElement;
    [source, default]   dispinterface HTMLElementEvents;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLPhraseElement;
                        interface IHTMLPhraseElement2;
                        interface IHTMLPhraseElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CPhraseElement;")
[
    hidden,
    uuid(3050f548-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLSpanElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f3f5-98b4-11cf-bb82-00aa00bdce0b)
]
coclass HTMLSpanElement
{
    [default]           dispinterface DispHTMLSpanElement;
    [source, default]   dispinterface HTMLElementEvents;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLPhraseElement;
                        interface IHTMLSpanElement;
                        interface IHTMLControlElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CSpanElement;")
[
    hidden,
    uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLTableEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLTableEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
};
typedef enum _htmlFrame
{
    htmlFrameNotSet = 0,
    htmlFramevoid = 1,
    htmlFrameabove = 2,
    htmlFramebelow = 3,
    htmlFramehsides = 4,
    htmlFramelhs = 5,
    htmlFramerhs = 6,
    htmlFramevsides = 7,
    htmlFramebox = 8,
    htmlFrameborder = 9,
    htmlFrame_Max = 2147483647L
} htmlFrame;

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

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

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

interface IHTMLTableSection;
[
    odl,
    oleautomation,
    dual,
    uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTable : IDispatch
{
    [propput, id(DISPID_IHTMLTABLE_COLS)] HRESULT cols([in] long v);
    [propget, id(DISPID_IHTMLTABLE_COLS)] HRESULT cols([retval, out] long * p);
    [propput, id(DISPID_IHTMLTABLE_BORDER)] HRESULT border([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BORDER)] HRESULT border([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_FRAME)] HRESULT frame([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLE_FRAME)] HRESULT frame([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLE_RULES)] HRESULT rules([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLE_RULES)] HRESULT rules([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLE_CELLSPACING)] HRESULT cellSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_CELLSPACING)] HRESULT cellSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_CELLPADDING)] HRESULT cellPadding([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_CELLPADDING)] HRESULT cellPadding([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_BACKGROUND)] HRESULT background([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLE_BACKGROUND)] HRESULT background([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLE_BGCOLOR)] HRESULT bgColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BGCOLOR)] HRESULT bgColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)] HRESULT borderColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)] HRESULT borderColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)] HRESULT borderColorLight([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)] HRESULT borderColorLight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)] HRESULT borderColorDark([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)] HRESULT borderColorDark([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_ALIGN)] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLE_ALIGN)] HRESULT align([retval, out] BSTR * p);
    [id(DISPID_IHTMLTABLE_REFRESH)] HRESULT refresh();
    [propget, id(DISPID_IHTMLTABLE_ROWS)] HRESULT rows([retval, out] IHTMLElementCollection* * p);
    [propput, id(DISPID_IHTMLTABLE_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_WIDTH)] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_HEIGHT)] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_HEIGHT)] HRESULT height([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)] HRESULT dataPageSize([in] long v);
    [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)] HRESULT dataPageSize([retval, out] long * p);
    [id(DISPID_IHTMLTABLE_NEXTPAGE)] HRESULT nextPage();
    [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)] HRESULT previousPage();
    [propget, id(DISPID_IHTMLTABLE_THEAD)] HRESULT tHead([retval, out] IHTMLTableSection* * p);
    [propget, id(DISPID_IHTMLTABLE_TFOOT)] HRESULT tFoot([retval, out] IHTMLTableSection* * p);
    [propget, id(DISPID_IHTMLTABLE_TBODIES)] HRESULT tBodies([retval, out] IHTMLElementCollection* * p);
    [propget, id(DISPID_IHTMLTABLE_CAPTION)] HRESULT caption([retval, out] IHTMLTableCaption* * p);
    [id(DISPID_IHTMLTABLE_CREATETHEAD)] HRESULT createTHead([retval, out] IDispatch** head);
    [id(DISPID_IHTMLTABLE_DELETETHEAD)] HRESULT deleteTHead();
    [id(DISPID_IHTMLTABLE_CREATETFOOT)] HRESULT createTFoot([retval, out] IDispatch** foot);
    [id(DISPID_IHTMLTABLE_DELETETFOOT)] HRESULT deleteTFoot();
    [id(DISPID_IHTMLTABLE_CREATECAPTION)] HRESULT createCaption([retval, out] IHTMLTableCaption** caption);
    [id(DISPID_IHTMLTABLE_DELETECAPTION)] HRESULT deleteCaption();
    [id(DISPID_IHTMLTABLE_INSERTROW)] HRESULT insertRow([defaultvalue(-1), in] long index,[retval, out] IDispatch** row);
    [id(DISPID_IHTMLTABLE_DELETEROW)] HRESULT deleteRow([defaultvalue(-1), in] long index);
    [propget, id(DISPID_IHTMLTABLE_READYSTATE)] HRESULT readyState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTable2 : IDispatch
{
    [id(DISPID_IHTMLTABLE2_FIRSTPAGE)] HRESULT firstPage();
    [id(DISPID_IHTMLTABLE2_LASTPAGE)] HRESULT lastPage();
    [propget, id(DISPID_IHTMLTABLE2_CELLS)] HRESULT cells([retval, out] IHTMLElementCollection* * p);
    [id(DISPID_IHTMLTABLE2_MOVEROW)] HRESULT moveRow([defaultvalue(-1), in] long indexFrom,[defaultvalue(-1), in] long indexTo,[retval, out] IDispatch** row);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTable3 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable] HRESULT summary([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable] HRESULT summary([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f23a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableCol : IDispatch
{
    [propput, id(DISPID_IHTMLTABLECOL_SPAN)] HRESULT span([in] long v);
    [propget, id(DISPID_IHTMLTABLECOL_SPAN)] HRESULT span([retval, out] long * p);
    [propput, id(DISPID_IHTMLTABLECOL_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLECOL_WIDTH)] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLECOL_ALIGN)] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL_ALIGN)] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECOL_VALIGN)] HRESULT vAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL_VALIGN)] HRESULT vAlign([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f82a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableCol2 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLECOL2_CH), displaybind, bindable] HRESULT ch([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL2_CH), displaybind, bindable] HRESULT ch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECOL2_CHOFF), displaybind, bindable] HRESULT chOff([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL2_CHOFF), displaybind, bindable] HRESULT chOff([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableSection : IDispatch
{
    [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)] HRESULT vAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)] HRESULT vAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)] HRESULT bgColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)] HRESULT bgColor([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLTABLESECTION_ROWS)] HRESULT rows([retval, out] IHTMLElementCollection* * p);
    [id(DISPID_IHTMLTABLESECTION_INSERTROW)] HRESULT insertRow([defaultvalue(-1), in] long index,[retval, out] IDispatch** row);
    [id(DISPID_IHTMLTABLESECTION_DELETEROW)] HRESULT deleteRow([defaultvalue(-1), in] long index);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5c7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableSection2 : IDispatch
{
    [id(DISPID_IHTMLTABLESECTION2_MOVEROW)] HRESULT moveRow([defaultvalue(-1), in] long indexFrom,[defaultvalue(-1), in] long indexTo,[retval, out] IDispatch** row);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f82b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableSection3 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLESECTION3_CH), displaybind, bindable] HRESULT ch([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION3_CH), displaybind, bindable] HRESULT ch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLESECTION3_CHOFF), displaybind, bindable] HRESULT chOff([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION3_CHOFF), displaybind, bindable] HRESULT chOff([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableRow : IDispatch
{
    [propput, id(DISPID_IHTMLTABLEROW_ALIGN)] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW_ALIGN)] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLEROW_VALIGN)] HRESULT vAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW_VALIGN)] HRESULT vAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)] HRESULT bgColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)] HRESULT bgColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)] HRESULT borderColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)] HRESULT borderColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)] HRESULT borderColorLight([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)] HRESULT borderColorLight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)] HRESULT borderColorDark([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)] HRESULT borderColorDark([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)] HRESULT rowIndex([retval, out] long * p);
    [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)] HRESULT sectionRowIndex([retval, out] long * p);
    [propget, id(DISPID_IHTMLTABLEROW_CELLS)] HRESULT cells([retval, out] IHTMLElementCollection* * p);
    [id(DISPID_IHTMLTABLEROW_INSERTCELL)] HRESULT insertCell([defaultvalue(-1), in] long index,[retval, out] IDispatch** row);
    [id(DISPID_IHTMLTABLEROW_DELETECELL)] HRESULT deleteCell([defaultvalue(-1), in] long index);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4a1-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableRow2 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)] HRESULT height([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f82c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableRow3 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable] HRESULT ch([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable] HRESULT ch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable] HRESULT chOff([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable] HRESULT chOff([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f413-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableRowMetrics : IDispatch
{
    [propget, id(DISPID_IHTMLTABLEROWMETRICS_CLIENTHEIGHT), displaybind, bindable] HRESULT clientHeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLTABLEROWMETRICS_CLIENTWIDTH), displaybind, bindable] HRESULT clientWidth([retval, out] long * p);
    [propget, id(DISPID_IHTMLTABLEROWMETRICS_CLIENTTOP), displaybind, bindable] HRESULT clientTop([retval, out] long * p);
    [propget, id(DISPID_IHTMLTABLEROWMETRICS_CLIENTLEFT), displaybind, bindable] HRESULT clientLeft([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f23d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableCell : IDispatch
{
    [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)] HRESULT rowSpan([in] long v);
    [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)] HRESULT rowSpan([retval, out] long * p);
    [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)] HRESULT colSpan([in] long v);
    [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)] HRESULT colSpan([retval, out] long * p);
    [propput, id(DISPID_IHTMLTABLECELL_ALIGN)] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL_ALIGN)] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL_VALIGN)] HRESULT vAlign([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL_VALIGN)] HRESULT vAlign([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)] HRESULT bgColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)] HRESULT bgColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)] HRESULT noWrap([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)] HRESULT noWrap([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)] HRESULT background([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)] HRESULT background([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)] HRESULT borderColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)] HRESULT borderColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)] HRESULT borderColorLight([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)] HRESULT borderColorLight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)] HRESULT borderColorDark([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)] HRESULT borderColorDark([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLECELL_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_WIDTH)] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)] HRESULT height([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)] HRESULT cellIndex([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f82d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLTableCell2 : IDispatch
{
    [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable] HRESULT abbr([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable] HRESULT abbr([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable] HRESULT axis([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable] HRESULT axis([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable] HRESULT ch([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable] HRESULT ch([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable] HRESULT chOff([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable] HRESULT chOff([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable] HRESULT headers([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable] HRESULT headers([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable] HRESULT scope([in] BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable] HRESULT scope([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTable
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLTABLE_COLS)] void cols(long v);
    [propget, id(DISPID_IHTMLTABLE_COLS)] long cols();
    [propput, id(DISPID_IHTMLTABLE_BORDER)] void border(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BORDER)] VARIANT border();
    [propput, id(DISPID_IHTMLTABLE_FRAME)] void frame(BSTR v);
    [propget, id(DISPID_IHTMLTABLE_FRAME)] BSTR frame();
    [propput, id(DISPID_IHTMLTABLE_RULES)] void rules(BSTR v);
    [propget, id(DISPID_IHTMLTABLE_RULES)] BSTR rules();
    [propput, id(DISPID_IHTMLTABLE_CELLSPACING)] void cellSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_CELLSPACING)] VARIANT cellSpacing();
    [propput, id(DISPID_IHTMLTABLE_CELLPADDING)] void cellPadding(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_CELLPADDING)] VARIANT cellPadding();
    [propput, id(DISPID_IHTMLTABLE_BACKGROUND)] void background(BSTR v);
    [propget, id(DISPID_IHTMLTABLE_BACKGROUND)] BSTR background();
    [propput, id(DISPID_IHTMLTABLE_BGCOLOR)] void bgColor(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BGCOLOR)] VARIANT bgColor();
    [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)] void borderColor(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)] VARIANT borderColor();
    [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)] void borderColorLight(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)] VARIANT borderColorLight();
    [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)] void borderColorDark(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)] VARIANT borderColorDark();
    [propput, id(DISPID_IHTMLTABLE_ALIGN)] void align(BSTR v);
    [propget, id(DISPID_IHTMLTABLE_ALIGN)] BSTR align();
    [id(DISPID_IHTMLTABLE_REFRESH)] void refresh();
    [propget, id(DISPID_IHTMLTABLE_ROWS)] IHTMLElementCollection* rows();
    [propput, id(DISPID_IHTMLTABLE_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_WIDTH)] VARIANT width();
    [propput, id(DISPID_IHTMLTABLE_HEIGHT)] void height(VARIANT v);
    [propget, id(DISPID_IHTMLTABLE_HEIGHT)] VARIANT height();
    [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)] void dataPageSize(long v);
    [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)] long dataPageSize();
    [id(DISPID_IHTMLTABLE_NEXTPAGE)] void nextPage();
    [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)] void previousPage();
    [propget, id(DISPID_IHTMLTABLE_THEAD)] IHTMLTableSection* tHead();
    [propget, id(DISPID_IHTMLTABLE_TFOOT)] IHTMLTableSection* tFoot();
    [propget, id(DISPID_IHTMLTABLE_TBODIES)] IHTMLElementCollection* tBodies();
    [propget, id(DISPID_IHTMLTABLE_CAPTION)] IHTMLTableCaption* caption();
    [id(DISPID_IHTMLTABLE_CREATETHEAD)] IDispatch* createTHead();
    [id(DISPID_IHTMLTABLE_DELETETHEAD)] void deleteTHead();
    [id(DISPID_IHTMLTABLE_CREATETFOOT)] IDispatch* createTFoot();
    [id(DISPID_IHTMLTABLE_DELETETFOOT)] void deleteTFoot();
    [id(DISPID_IHTMLTABLE_CREATECAPTION)] IHTMLTableCaption* createCaption();
    [id(DISPID_IHTMLTABLE_DELETECAPTION)] void deleteCaption();
    [id(DISPID_IHTMLTABLE_INSERTROW)] IDispatch* insertRow([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLE_DELETEROW)] void deleteRow([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLE2_FIRSTPAGE)] void firstPage();
    [id(DISPID_IHTMLTABLE2_LASTPAGE)] void lastPage();
    [propget, id(DISPID_IHTMLTABLE2_CELLS)] IHTMLElementCollection* cells();
    [id(DISPID_IHTMLTABLE2_MOVEROW)] IDispatch* moveRow([defaultvalue(-1), in] long indexFrom,[defaultvalue(-1), in] long indexTo);
    [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable] void summary(BSTR v);
    [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable] BSTR summary();
};
[
    noncreatable,
    uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTable
{
    [default]           dispinterface DispHTMLTable;
    [source, default]   dispinterface HTMLTableEvents;
    [source]            dispinterface HTMLTableEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTable;
                        interface IHTMLTable2;
                        interface IHTMLTable3;
};
cpp_quote("EXTERN_C const GUID CLSID_CTable;")
[
    hidden,
    uuid(3050f533-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTableCol
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLTABLECOL_SPAN)] void span(long v);
    [propget, id(DISPID_IHTMLTABLECOL_SPAN)] long span();
    [propput, id(DISPID_IHTMLTABLECOL_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLTABLECOL_WIDTH)] VARIANT width();
    [propput, id(DISPID_IHTMLTABLECOL_ALIGN)] void align(BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL_ALIGN)] BSTR align();
    [propput, id(DISPID_IHTMLTABLECOL_VALIGN)] void vAlign(BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL_VALIGN)] BSTR vAlign();
    [propput, id(DISPID_IHTMLTABLECOL2_CH), displaybind, bindable] void ch(BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL2_CH), displaybind, bindable] BSTR ch();
    [propput, id(DISPID_IHTMLTABLECOL2_CHOFF), displaybind, bindable] void chOff(BSTR v);
    [propget, id(DISPID_IHTMLTABLECOL2_CHOFF), displaybind, bindable] BSTR chOff();
};
[
    noncreatable,
    uuid(3050f26c-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTableCol
{
    [default]           dispinterface DispHTMLTableCol;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLTableCol;
                        interface IHTMLTableCol2;
};
cpp_quote("EXTERN_C const GUID CLSID_CTableCol;")
[
    hidden,
    uuid(3050f534-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTableSection
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)] void align(BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)] BSTR align();
    [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)] void vAlign(BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)] BSTR vAlign();
    [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)] void bgColor(VARIANT v);
    [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)] VARIANT bgColor();
    [propget, id(DISPID_IHTMLTABLESECTION_ROWS)] IHTMLElementCollection* rows();
    [id(DISPID_IHTMLTABLESECTION_INSERTROW)] IDispatch* insertRow([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLESECTION_DELETEROW)] void deleteRow([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLESECTION2_MOVEROW)] IDispatch* moveRow([defaultvalue(-1), in] long indexFrom,[defaultvalue(-1), in] long indexTo);
    [propput, id(DISPID_IHTMLTABLESECTION3_CH), displaybind, bindable] void ch(BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION3_CH), displaybind, bindable] BSTR ch();
    [propput, id(DISPID_IHTMLTABLESECTION3_CHOFF), displaybind, bindable] void chOff(BSTR v);
    [propget, id(DISPID_IHTMLTABLESECTION3_CHOFF), displaybind, bindable] BSTR chOff();
};
[
    noncreatable,
    uuid(3050f2e9-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTableSection
{
    [default]           dispinterface DispHTMLTableSection;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLTableSection;
                        interface IHTMLTableSection2;
                        interface IHTMLTableSection3;
};
cpp_quote("EXTERN_C const GUID CLSID_CTableSection;")
[
    hidden,
    uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTableRow
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLTABLEROW_ALIGN)] void align(BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW_ALIGN)] BSTR align();
    [propput, id(DISPID_IHTMLTABLEROW_VALIGN)] void vAlign(BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW_VALIGN)] BSTR vAlign();
    [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)] void bgColor(VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)] VARIANT bgColor();
    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)] void borderColor(VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)] VARIANT borderColor();
    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)] void borderColorLight(VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)] VARIANT borderColorLight();
    [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)] void borderColorDark(VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)] VARIANT borderColorDark();
    [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)] long rowIndex();
    [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)] long sectionRowIndex();
    [propget, id(DISPID_IHTMLTABLEROW_CELLS)] IHTMLElementCollection* cells();
    [id(DISPID_IHTMLTABLEROW_INSERTCELL)] IDispatch* insertCell([defaultvalue(-1), in] long index);
    [id(DISPID_IHTMLTABLEROW_DELETECELL)] void deleteCell([defaultvalue(-1), in] long index);
    [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)] void height(VARIANT v);
    [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)] VARIANT height();
    [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable] void ch(BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable] BSTR ch();
    [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable] void chOff(BSTR v);
    [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable] BSTR chOff();
};
[
    noncreatable,
    uuid(3050f26d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTableRow
{
    [default]           dispinterface DispHTMLTableRow;
    [source, default]   dispinterface HTMLControlElementEvents;
    [source]            dispinterface HTMLControlElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLTableRow;
                        interface IHTMLTableRowMetrics;
                        interface IHTMLTableRow2;
                        interface IHTMLTableRow3;
};
cpp_quote("EXTERN_C const GUID CLSID_CTableRow;")
[
    hidden,
    uuid(3050f536-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLTableCell
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLTABLECELL_ROWSPAN)] void rowSpan(long v);
    [propget, id(DISPID_IHTMLTABLECELL_ROWSPAN)] long rowSpan();
    [propput, id(DISPID_IHTMLTABLECELL_COLSPAN)] void colSpan(long v);
    [propget, id(DISPID_IHTMLTABLECELL_COLSPAN)] long colSpan();
    [propput, id(DISPID_IHTMLTABLECELL_ALIGN)] void align(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL_ALIGN)] BSTR align();
    [propput, id(DISPID_IHTMLTABLECELL_VALIGN)] void vAlign(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL_VALIGN)] BSTR vAlign();
    [propput, id(DISPID_IHTMLTABLECELL_BGCOLOR)] void bgColor(VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_BGCOLOR)] VARIANT bgColor();
    [propput, id(DISPID_IHTMLTABLECELL_NOWRAP)] void noWrap(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLTABLECELL_NOWRAP)] VARIANT_BOOL noWrap();
    [propput, id(DISPID_IHTMLTABLECELL_BACKGROUND)] void background(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL_BACKGROUND)] BSTR background();
    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)] void borderColor(VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLOR)] VARIANT borderColor();
    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)] void borderColorLight(VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORLIGHT)] VARIANT borderColorLight();
    [propput, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)] void borderColorDark(VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_BORDERCOLORDARK)] VARIANT borderColorDark();
    [propput, id(DISPID_IHTMLTABLECELL_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_WIDTH)] VARIANT width();
    [propput, id(DISPID_IHTMLTABLECELL_HEIGHT)] void height(VARIANT v);
    [propget, id(DISPID_IHTMLTABLECELL_HEIGHT)] VARIANT height();
    [propget, id(DISPID_IHTMLTABLECELL_CELLINDEX)] long cellIndex();
    [propput, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable] void abbr(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_ABBR), displaybind, bindable] BSTR abbr();
    [propput, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable] void axis(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_AXIS), displaybind, bindable] BSTR axis();
    [propput, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable] void ch(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_CH), displaybind, bindable] BSTR ch();
    [propput, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable] void chOff(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_CHOFF), displaybind, bindable] BSTR chOff();
    [propput, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable] void headers(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_HEADERS), displaybind, bindable] BSTR headers();
    [propput, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable] void scope(BSTR v);
    [propget, id(DISPID_IHTMLTABLECELL2_SCOPE), displaybind, bindable] BSTR scope();
};
[
    noncreatable,
    uuid(3050f246-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLTableCell
{
    [default]           dispinterface DispHTMLTableCell;
    [source, default]   dispinterface HTMLTextContainerEvents;
    [source]            dispinterface HTMLTextContainerEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLTableCell;
                        interface IHTMLTableCell2;
};
cpp_quote("EXTERN_C const GUID CLSID_CTableCell;")
[
    hidden,
    uuid(3050f621-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLScriptEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLSCRIPTEVENTS2_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f3e2-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLScriptEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLSCRIPTEVENTS_ONERROR)] void onerror();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLScriptElement : IDispatch
{
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable] HRESULT htmlFor([in] BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable] HRESULT htmlFor([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable] HRESULT event([in] BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable] HRESULT event([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable] HRESULT text([in] BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable] HRESULT text([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable] HRESULT defer([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable] HRESULT defer([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)] HRESULT readyState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLScriptElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable] HRESULT charset([in] BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable] HRESULT charset([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510447-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLScriptElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)] HRESULT src([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f530-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLScriptElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable] void src(BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable] BSTR src();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable] void htmlFor(BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable] BSTR htmlFor();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable] void event(BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable] BSTR event();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable] void text(BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable] BSTR text();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable] void defer(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable] VARIANT_BOOL defer();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable] BSTR type();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable] void charset(BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable] BSTR charset();
    [propput, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)] void ie8_src(BSTR v);
    [propget, id(DISPID_IHTMLSCRIPTELEMENT3_IE8_SRC)] BSTR ie8_src();
};
[
    noncreatable,
    uuid(3050f28c-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLScriptElement
{
    [default]           dispinterface DispHTMLScriptElement;
    [source, default]   dispinterface HTMLScriptEvents;
    [source]            dispinterface HTMLScriptEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLScriptElement;
                        interface IHTMLScriptElement2;
                        interface IHTMLScriptElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CScriptElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f38a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLNoShowElement : IDispatch
{
};
[
    hidden,
    uuid(3050f528-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLNoShowElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f38b-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLNoShowElement
{
    [default]           dispinterface DispHTMLNoShowElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLNoShowElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CNoShowElement;")
[
    hidden,
    uuid(3050f620-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLObjectElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONERROR)] VARIANT_BOOL onerror([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLOBJECTELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f3c4-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLObjectElementEvents
{
properties:
methods:
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONERROR)] VARIANT_BOOL onerror();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLOBJECTELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f24f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLObjectElement : IDispatch
{
    [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden] HRESULT object([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_CLASSID), hidden] HRESULT classid([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_DATA), hidden] HRESULT data([retval, out] BSTR * p);
    [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden] HRESULT recordset([in] IDispatch* v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden] HRESULT recordset([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable] HRESULT codeBase([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable] HRESULT codeBase([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable] HRESULT codeType([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable] HRESULT codeType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable] HRESULT code([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable] HRESULT code([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)] HRESULT BaseHref([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)] HRESULT width([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)] HRESULT height([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_READYSTATE), hidden] HRESULT readyState([retval, out] long * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)] HRESULT altHtml([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)] HRESULT altHtml([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)] HRESULT vspace([in] long v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)] HRESULT vspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)] HRESULT hspace([in] long v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)] HRESULT hspace([retval, out] long * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4cd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLObjectElement2 : IDispatch
{
    [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)] HRESULT namedRecordset([in] BSTR dataMember,[optional, in] VARIANT* hierarchy,[retval, out] IDispatch** ppRecordset);
    [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden] HRESULT classid([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden] HRESULT classid([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden] HRESULT data([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden] HRESULT data([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f827-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLObjectElement3 : IDispatch
{
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable] HRESULT archive([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable] HRESULT archive([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable] HRESULT alt([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable] HRESULT alt([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable] HRESULT declare([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable] HRESULT declare([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable] HRESULT standby([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable] HRESULT standby([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)] HRESULT border([in] VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)] HRESULT border([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable] HRESULT useMap([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable] HRESULT useMap([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051043e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLObjectElement4 : IDispatch
{
    [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)] HRESULT contentDocument([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)] HRESULT codeBase([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)] HRESULT codeBase([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)] HRESULT data([in] BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)] HRESULT data([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f83d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLParamElement : IDispatch
{
    [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable] HRESULT valueType([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable] HRESULT valueType([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510444-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLParamElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT2_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT2_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable] HRESULT value([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT2_VALUE), displaybind, bindable] HRESULT value([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)] HRESULT valueType([in] BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)] HRESULT valueType([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f529-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLObjectElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propget, id(DISPID_IHTMLOBJECTELEMENT_OBJECT), hidden] IDispatch* object();
    [propputref, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden] void recordset(IDispatch* v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_RECORDSET), hidden] IDispatch* recordset();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_ALIGN), displaybind, bindable] BSTR align();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable] void codeBase(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODEBASE), displaybind, bindable] BSTR codeBase();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable] void codeType(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODETYPE), displaybind, bindable] BSTR codeType();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable] void code(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_CODE), displaybind, bindable] BSTR code();
    [propget, id(DISPID_IHTMLOBJECTELEMENT_BASEHREF)] BSTR BaseHref();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_TYPE), displaybind, bindable] BSTR type();
    [propget, id(DISPID_IHTMLOBJECTELEMENT_FORM)] IHTMLFormElement* form();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_WIDTH)] VARIANT width();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)] void height(VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_HEIGHT)] VARIANT height();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_ONERROR), displaybind, bindable] VARIANT onerror();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)] void altHtml(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_ALTHTML)] BSTR altHtml();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)] void vspace(long v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_VSPACE)] long vspace();
    [propput, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)] void hspace(long v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT_HSPACE)] long hspace();
    [id(DISPID_IHTMLOBJECTELEMENT2_NAMEDRECORDSET)] IDispatch* namedRecordset([in] BSTR dataMember,[optional, in] VARIANT* hierarchy);
    [propput, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden] void classid(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT2_CLASSID), hidden] BSTR classid();
    [propput, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden] void data(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT2_DATA), hidden] BSTR data();
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable] void archive(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_ARCHIVE), displaybind, bindable] BSTR archive();
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable] void alt(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_ALT), displaybind, bindable] BSTR alt();
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable] void declare(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_DECLARE), displaybind, bindable] VARIANT_BOOL declare();
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable] void standby(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_STANDBY), displaybind, bindable] BSTR standby();
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)] void border(VARIANT v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_BORDER)] VARIANT border();
    [propput, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable] void useMap(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT3_USEMAP), displaybind, bindable] BSTR useMap();
    [propget, id(DISPID_IHTMLOBJECTELEMENT4_CONTENTDOCUMENT)] IDispatch* contentDocument();
    [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)] void ie8_codeBase(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_CODEBASE)] BSTR ie8_codeBase();
    [propput, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)] void ie8_data(BSTR v);
    [propget, id(DISPID_IHTMLOBJECTELEMENT4_IE8_DATA)] BSTR ie8_data();
};
[
    noncreatable,
    uuid(3050f24e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLObjectElement
{
    [default]           dispinterface DispHTMLObjectElement;
    [source, default]   dispinterface HTMLObjectElementEvents;
    [source]            dispinterface HTMLObjectElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLObjectElement;
                        interface IHTMLObjectElement2;
                        interface IHTMLObjectElement3;
                        interface IHTMLObjectElement4;
};
cpp_quote("EXTERN_C const GUID CLSID_CObjectElement;")
[
    hidden,
    uuid(3050f590-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLParamElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT_VALUE), displaybind, bindable] BSTR value();
    [propput, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT_TYPE), displaybind, bindable] BSTR type();
    [propput, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable] void valueType(BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT_VALUETYPE), displaybind, bindable] BSTR valueType();
    [propput, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)] void ie8_valueType(BSTR v);
    [propget, id(DISPID_IHTMLPARAMELEMENT2_IE8_VALUETYPE)] BSTR ie8_valueType();
};
[
    noncreatable,
    uuid(3050f83e-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLParamElement
{
    [default]           dispinterface DispHTMLParamElement;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLParamElement;
                        interface IHTMLParamElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CParamElement;")
[
    hidden,
    uuid(3050f7ff-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLFrameSiteEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLFRAMESITEEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f800-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLFrameSiteEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLFRAMESITEEVENTS_ONLOAD)] void onload();
};
typedef enum _frameScrolling
{
    frameScrollingyes = 1,
    frameScrollingno = 2,
    frameScrollingauto = 4,
    frameScrolling_Max = 2147483647L
} frameScrolling;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameBase : IDispatch
{
    [propput, id(DISPID_IHTMLFRAMEBASE_SRC)] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_SRC)] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMEBASE_NAME)] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_NAME)] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)] HRESULT border([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)] HRESULT border([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] HRESULT frameBorder([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] HRESULT frameBorder([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] HRESULT frameSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] HRESULT frameSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] HRESULT marginWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] HRESULT marginWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] HRESULT marginHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] HRESULT marginHeight([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] HRESULT noResize([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] HRESULT noResize([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] HRESULT scrolling([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] HRESULT scrolling([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameBase2 : IDispatch
{
    [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)] HRESULT contentWindow([retval, out] IHTMLWindow2* * p);
    [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)] HRESULT readyState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] HRESULT allowTransparency([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] HRESULT allowTransparency([retval, out] VARIANT_BOOL * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f82e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameBase3 : IDispatch
{
    [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] HRESULT longDesc([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] HRESULT longDesc([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f541-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLFrameBase
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLFRAMEBASE_SRC)] void src(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_SRC)] BSTR src();
    [propput, id(DISPID_IHTMLFRAMEBASE_NAME)] void name(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_NAME)] BSTR name();
    [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)] void border(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)] VARIANT border();
    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] void frameBorder(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] BSTR frameBorder();
    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] void frameSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] VARIANT frameSpacing();
    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] void marginWidth(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] VARIANT marginWidth();
    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] void marginHeight(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] VARIANT marginHeight();
    [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] void noResize(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] VARIANT_BOOL noResize();
    [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] void scrolling(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] BSTR scrolling();
    [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)] IHTMLWindow2* contentWindow();
    [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] void allowTransparency(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] VARIANT_BOOL allowTransparency();
    [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] void longDesc(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] BSTR longDesc();
};
[
    noncreatable,
    uuid(3050f312-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLFrameBase
{
    [default]           dispinterface DispHTMLFrameBase;
    [source, default]   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 IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLFrameBase;
                        interface IHTMLFrameBase2;
                        interface IHTMLFrameBase3;
};
cpp_quote("EXTERN_C const GUID CLSID_CFrameSite;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f313-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameElement : IDispatch
{
    [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)] HRESULT borderColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)] HRESULT borderColor([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f7f5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)] HRESULT height([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)] HRESULT width([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051042d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameElement3 : IDispatch
{
    [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)] HRESULT contentDocument([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)] HRESULT longDesc([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)] HRESULT longDesc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)] HRESULT frameBorder([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)] HRESULT frameBorder([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f513-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLFrameElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLFRAMEBASE_SRC)] void src(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_SRC)] BSTR src();
    [propput, id(DISPID_IHTMLFRAMEBASE_NAME)] void name(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_NAME)] BSTR name();
    [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)] void border(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)] VARIANT border();
    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] void frameBorder(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] BSTR frameBorder();
    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] void frameSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] VARIANT frameSpacing();
    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] void marginWidth(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] VARIANT marginWidth();
    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] void marginHeight(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] VARIANT marginHeight();
    [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] void noResize(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] VARIANT_BOOL noResize();
    [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] void scrolling(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] BSTR scrolling();
    [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)] IHTMLWindow2* contentWindow();
    [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] void allowTransparency(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] VARIANT_BOOL allowTransparency();
    [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] void longDesc(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] BSTR longDesc();
    [propput, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)] void borderColor(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT_BORDERCOLOR)] VARIANT borderColor();
    [propput, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)] void height(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT2_HEIGHT)] VARIANT height();
    [propput, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT2_WIDTH)] VARIANT width();
    [propget, id(DISPID_IHTMLFRAMEELEMENT3_CONTENTDOCUMENT)] IDispatch* contentDocument();
    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)] void ie8_src(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_SRC)] BSTR ie8_src();
    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)] void ie8_longDesc(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_LONGDESC)] BSTR ie8_longDesc();
    [propput, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)] void ie8_frameBorder(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEELEMENT3_IE8_FRAMEBORDER)] BSTR ie8_frameBorder();
};
[
    noncreatable,
    uuid(3050f314-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLFrameElement
{
    [default]           dispinterface DispHTMLFrameElement;
    [source, default]   dispinterface HTMLControlElementEvents;
    [source]            dispinterface HTMLControlElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLFrameBase;
                        interface IHTMLFrameBase2;
                        interface IHTMLFrameBase3;
                        interface IHTMLFrameElement;
                        interface IHTMLFrameElement2;
                        interface IHTMLFrameElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CFrameElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f315-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLIFrameElement : IDispatch
{
    [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)] HRESULT vspace([in] long v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)] HRESULT vspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)] HRESULT hspace([in] long v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)] HRESULT hspace([retval, out] long * p);
    [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f4e6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLIFrameElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)] HRESULT height([in] VARIANT v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)] HRESULT height([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)] HRESULT width([in] VARIANT v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)] HRESULT width([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510433-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLIFrameElement3 : IDispatch
{
    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_CONTENTDOCUMENT)] HRESULT contentDocument([retval, out] IDispatch* * p);
    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)] HRESULT longDesc([in] BSTR v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)] HRESULT longDesc([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)] HRESULT frameBorder([in] BSTR v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)] HRESULT frameBorder([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLIFrame
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLFRAMEBASE_SRC)] void src(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_SRC)] BSTR src();
    [propput, id(DISPID_IHTMLFRAMEBASE_NAME)] void name(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_NAME)] BSTR name();
    [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)] void border(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)] VARIANT border();
    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] void frameBorder(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)] BSTR frameBorder();
    [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] void frameSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)] VARIANT frameSpacing();
    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] void marginWidth(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)] VARIANT marginWidth();
    [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] void marginHeight(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)] VARIANT marginHeight();
    [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] void noResize(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)] VARIANT_BOOL noResize();
    [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] void scrolling(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)] BSTR scrolling();
    [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)] IHTMLWindow2* contentWindow();
    [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] void allowTransparency(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)] VARIANT_BOOL allowTransparency();
    [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] void longDesc(BSTR v);
    [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable] BSTR longDesc();
    [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)] void vspace(long v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)] long vspace();
    [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)] void hspace(long v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)] long hspace();
    [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable] BSTR align();
    [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)] void height(VARIANT v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)] VARIANT height();
    [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)] void width(VARIANT v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)] VARIANT width();
    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_CONTENTDOCUMENT)] IDispatch* contentDocument();
    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)] void ie8_src(BSTR v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_SRC)] BSTR ie8_src();
    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)] void ie8_longDesc(BSTR v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_LONGDESC)] BSTR ie8_longDesc();
    [propput, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)] void ie8_frameBorder(BSTR v);
    [propget, id(DISPID_IHTMLIFRAMEELEMENT3_IE8_FRAMEBORDER)] BSTR ie8_frameBorder();
};
[
    noncreatable,
    uuid(3050f316-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLIFrame
{
    [default]           dispinterface DispHTMLIFrame;
    [source, default]   dispinterface HTMLControlElementEvents;
    [source]            dispinterface HTMLControlElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLFrameBase;
                        interface IHTMLFrameBase2;
                        interface IHTMLFrameBase3;
                        interface IHTMLIFrameElement;
                        interface IHTMLIFrameElement2;
                        interface IHTMLIFrameElement3;
};
cpp_quote("EXTERN_C const GUID CLSID_CIFrameElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f212-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDivPosition : IDispatch
{
    [propput, id(DISPID_IHTMLDIVPOSITION_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLDIVPOSITION_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3e7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFieldSetElement : IDispatch
{
    [propput, id(DISPID_IHTMLFIELDSETELEMENT_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLFIELDSETELEMENT_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f833-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFieldSetElement2 : IDispatch
{
    [propget, id(DISPID_IHTMLFIELDSETELEMENT2_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3ea-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLegendElement : IDispatch
{
    [propput, id(DISPID_IHTMLLEGENDELEMENT_ALIGN)] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLLEGENDELEMENT_ALIGN)] HRESULT align([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f834-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLLegendElement2 : IDispatch
{
    [propget, id(DISPID_IHTMLLEGENDELEMENT2_FORM)] HRESULT form([retval, out] IHTMLFormElement* * p);
};
[
    hidden,
    uuid(3050f50f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLDivPosition
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLDIVPOSITION_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLDIVPOSITION_ALIGN), displaybind, bindable] BSTR align();
};
[
    noncreatable,
    uuid(3050f249-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDivPosition
{
    [default]           dispinterface DispHTMLDivPosition;
    [source, default]   dispinterface HTMLTextContainerEvents;
    [source]            dispinterface HTMLTextContainerEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLDivPosition;
};
cpp_quote("EXTERN_C const GUID CLSID_C1DElement;")
[
    hidden,
    uuid(3050f545-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLFieldSetElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLFIELDSETELEMENT_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLFIELDSETELEMENT_ALIGN), displaybind, bindable] BSTR align();
    [propget, id(DISPID_IHTMLFIELDSETELEMENT2_FORM)] IHTMLFormElement* form();
};
[
    noncreatable,
    uuid(3050f3e8-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLFieldSetElement
{
    [default]           dispinterface DispHTMLFieldSetElement;
    [source, default]   dispinterface HTMLTextContainerEvents;
    [source]            dispinterface HTMLTextContainerEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLFieldSetElement;
                        interface IHTMLFieldSetElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CFieldSetElement;")
[
    hidden,
    uuid(3050f546-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLLegendElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLLEGENDELEMENT_ALIGN)] void align(BSTR v);
    [propget, id(DISPID_IHTMLLEGENDELEMENT_ALIGN)] BSTR align();
    [propget, id(DISPID_IHTMLLEGENDELEMENT2_FORM)] IHTMLFormElement* form();
};
[
    noncreatable,
    uuid(3050f3e9-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLLegendElement
{
    [default]           dispinterface DispHTMLLegendElement;
    [source, default]   dispinterface HTMLTextContainerEvents;
    [source]            dispinterface HTMLTextContainerEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLLegendElement;
                        interface IHTMLLegendElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CLegendElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3e5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLSpanFlow : IDispatch
{
    [propput, id(DISPID_IHTMLSPANFLOW_ALIGN), displaybind, bindable] HRESULT align([in] BSTR v);
    [propget, id(DISPID_IHTMLSPANFLOW_ALIGN), displaybind, bindable] HRESULT align([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f544-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLSpanFlow
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
    [propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
    [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
    [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)] IHTMLElement* querySelector([in] BSTR v);
    [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)] IHTMLDOMChildrenCollection* querySelectorAll([in] BSTR v);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLSPANFLOW_ALIGN), displaybind, bindable] void align(BSTR v);
    [propget, id(DISPID_IHTMLSPANFLOW_ALIGN), displaybind, bindable] BSTR align();
};
[
    noncreatable,
    uuid(3050f3e6-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLSpanFlow
{
    [default]           dispinterface DispHTMLSpanFlow;
    [source, default]   dispinterface HTMLTextContainerEvents;
    [source]            dispinterface HTMLTextContainerEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLDatabinding;
                        interface IHTMLElement5;
                        interface IElementSelector;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLTextContainer;
                        interface IHTMLSpanFlow;
};
cpp_quote("EXTERN_C const GUID CLSID_CSpanSite;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f319-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameSetElement : IDispatch
{
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_ROWS), displaybind, bindable] HRESULT rows([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_ROWS), displaybind, bindable] HRESULT rows([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_COLS), displaybind, bindable] HRESULT cols([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_COLS), displaybind, bindable] HRESULT cols([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_BORDER)] HRESULT border([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_BORDER)] HRESULT border([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_BORDERCOLOR)] HRESULT borderColor([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_BORDERCOLOR)] HRESULT borderColor([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_FRAMEBORDER)] HRESULT frameBorder([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_FRAMEBORDER)] HRESULT frameBorder([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_FRAMESPACING)] HRESULT frameSpacing([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_FRAMESPACING)] HRESULT frameSpacing([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_NAME), displaybind, bindable] HRESULT name([in] BSTR v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_NAME), displaybind, bindable] HRESULT name([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_ONUNLOAD), displaybind, bindable] HRESULT onunload([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_ONUNLOAD), displaybind, bindable] HRESULT onunload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_ONBEFOREUNLOAD), displaybind, bindable] HRESULT onbeforeunload([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_ONBEFOREUNLOAD), displaybind, bindable] HRESULT onbeforeunload([retval, out] VARIANT * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5c6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFrameSetElement2 : IDispatch
{
    [propput, id(DISPID_IHTMLFRAMESETELEMENT2_ONBEFOREPRINT), displaybind, bindable] HRESULT onbeforeprint([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT2_ONBEFOREPRINT), displaybind, bindable] HRESULT onbeforeprint([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLFRAMESETELEMENT2_ONAFTERPRINT), displaybind, bindable] HRESULT onafterprint([in] VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT2_ONAFTERPRINT), displaybind, bindable] HRESULT onafterprint([retval, out] VARIANT * p);
};
[
    hidden,
    uuid(3050f514-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLFrameSetSite
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_ROWS), displaybind, bindable] void rows(BSTR v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_ROWS), displaybind, bindable] BSTR rows();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_COLS), displaybind, bindable] void cols(BSTR v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_COLS), displaybind, bindable] BSTR cols();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_BORDER)] void border(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_BORDER)] VARIANT border();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_BORDERCOLOR)] void borderColor(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_BORDERCOLOR)] VARIANT borderColor();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_FRAMEBORDER)] void frameBorder(BSTR v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_FRAMEBORDER)] BSTR frameBorder();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_FRAMESPACING)] void frameSpacing(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_FRAMESPACING)] VARIANT frameSpacing();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_NAME), displaybind, bindable] void name(BSTR v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_NAME), displaybind, bindable] BSTR name();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_ONUNLOAD), displaybind, bindable] void onunload(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_ONUNLOAD), displaybind, bindable] VARIANT onunload();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT_ONBEFOREUNLOAD), displaybind, bindable] void onbeforeunload(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT_ONBEFOREUNLOAD), displaybind, bindable] VARIANT onbeforeunload();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT2_ONBEFOREPRINT), displaybind, bindable] void onbeforeprint(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT2_ONBEFOREPRINT), displaybind, bindable] VARIANT onbeforeprint();
    [propput, id(DISPID_IHTMLFRAMESETELEMENT2_ONAFTERPRINT), displaybind, bindable] void onafterprint(VARIANT v);
    [propget, id(DISPID_IHTMLFRAMESETELEMENT2_ONAFTERPRINT), displaybind, bindable] VARIANT onafterprint();
};
[
    noncreatable,
    uuid(3050f31A-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLFrameSetSite
{
    [default]           dispinterface DispHTMLFrameSetSite;
    [source, default]   dispinterface HTMLControlElementEvents;
    [source]            dispinterface HTMLControlElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLControlElement;
                        interface IHTMLFrameSetElement;
                        interface IHTMLFrameSetElement2;
};
cpp_quote("EXTERN_C const GUID CLSID_CFrameSetSite;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f369-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLBGsound : IDispatch
{
    [propput, id(DISPID_IHTMLBGSOUND_SRC), displaybind, bindable] HRESULT src([in] BSTR v);
    [propget, id(DISPID_IHTMLBGSOUND_SRC), displaybind, bindable] HRESULT src([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLBGSOUND_LOOP), displaybind, bindable] HRESULT loop([in] VARIANT v);
    [propget, id(DISPID_IHTMLBGSOUND_LOOP), displaybind, bindable] HRESULT loop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBGSOUND_VOLUME), displaybind, bindable] HRESULT volume([in] VARIANT v);
    [propget, id(DISPID_IHTMLBGSOUND_VOLUME), displaybind, bindable] HRESULT volume([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLBGSOUND_BALANCE), displaybind, bindable] HRESULT balance([in] VARIANT v);
    [propget, id(DISPID_IHTMLBGSOUND_BALANCE), displaybind, bindable] HRESULT balance([retval, out] VARIANT * p);
};
[
    hidden,
    uuid(3050f53c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLBGsound
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLBGSOUND_SRC), displaybind, bindable] void src(BSTR v);
    [propget, id(DISPID_IHTMLBGSOUND_SRC), displaybind, bindable] BSTR src();
    [propput, id(DISPID_IHTMLBGSOUND_LOOP), displaybind, bindable] void loop(VARIANT v);
    [propget, id(DISPID_IHTMLBGSOUND_LOOP), displaybind, bindable] VARIANT loop();
    [propput, id(DISPID_IHTMLBGSOUND_VOLUME), displaybind, bindable] void volume(VARIANT v);
    [propget, id(DISPID_IHTMLBGSOUND_VOLUME), displaybind, bindable] VARIANT volume();
    [propput, id(DISPID_IHTMLBGSOUND_BALANCE), displaybind, bindable] void balance(VARIANT v);
    [propget, id(DISPID_IHTMLBGSOUND_BALANCE), displaybind, bindable] VARIANT balance();
};
[
    noncreatable,
    uuid(3050f370-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLBGsound
{
    [default]           dispinterface DispHTMLBGsound;
    [source, default]   dispinterface HTMLElementEvents;
    [source]            dispinterface HTMLElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLBGsound;
};
cpp_quote("EXTERN_C const GUID CLSID_CBGsound;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f376-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFontNamesCollection : IDispatch
{
    [propget, id(DISPID_IHTMLFONTNAMESCOLLECTION_LENGTH), hidden] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLFONTNAMESCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLFONTNAMESCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] BSTR* pBstr);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f377-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLFontSizesCollection : IDispatch
{
    [propget, id(DISPID_IHTMLFONTSIZESCOLLECTION_LENGTH), hidden] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLFONTSIZESCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [propget, id(DISPID_IHTMLFONTSIZESCOLLECTION_FORFONT)] HRESULT forFont([retval, out] BSTR * p);
    [id(DISPID_IHTMLFONTSIZESCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] long* plSize);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f378-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLOptionsHolder : IDispatch
{
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_DOCUMENT), hidden] HRESULT document([retval, out] IHTMLDocument2* * p);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_FONTS), hidden] HRESULT fonts([retval, out] IHTMLFontNamesCollection* * p);
    [propput, id(DISPID_IHTMLOPTIONSHOLDER_EXECARG)] HRESULT execArg([in] VARIANT v);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_EXECARG)] HRESULT execArg([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLOPTIONSHOLDER_ERRORLINE)] HRESULT errorLine([in] long v);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_ERRORLINE)] HRESULT errorLine([retval, out] long * p);
    [propput, id(DISPID_IHTMLOPTIONSHOLDER_ERRORCHARACTER)] HRESULT errorCharacter([in] long v);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_ERRORCHARACTER)] HRESULT errorCharacter([retval, out] long * p);
    [propput, id(DISPID_IHTMLOPTIONSHOLDER_ERRORCODE)] HRESULT errorCode([in] long v);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_ERRORCODE)] HRESULT errorCode([retval, out] long * p);
    [propput, id(DISPID_IHTMLOPTIONSHOLDER_ERRORMESSAGE)] HRESULT errorMessage([in] BSTR v);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_ERRORMESSAGE)] HRESULT errorMessage([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOPTIONSHOLDER_ERRORDEBUG)] HRESULT errorDebug([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_ERRORDEBUG)] HRESULT errorDebug([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_UNSECUREDWINDOWOFDOCUMENT), hidden] HRESULT unsecuredWindowOfDocument([retval, out] IHTMLWindow2* * p);
    [propput, id(DISPID_IHTMLOPTIONSHOLDER_FINDTEXT)] HRESULT findText([in] BSTR v);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_FINDTEXT)] HRESULT findText([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLOPTIONSHOLDER_ANYTHINGAFTERFRAMESET)] HRESULT anythingAfterFrameset([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_ANYTHINGAFTERFRAMESET)] HRESULT anythingAfterFrameset([retval, out] VARIANT_BOOL * p);
    [id(DISPID_IHTMLOPTIONSHOLDER_SIZES)] HRESULT sizes([in] BSTR fontName,[retval, out] IHTMLFontSizesCollection** pSizesCollection);
    [id(DISPID_IHTMLOPTIONSHOLDER_OPENFILEDLG)] HRESULT openfiledlg([optional, in] VARIANT initFile,[optional, in] VARIANT initDir,[optional, in] VARIANT filter,[optional, in] VARIANT title,[retval, out] BSTR* pathName);
    [id(DISPID_IHTMLOPTIONSHOLDER_SAVEFILEDLG)] HRESULT savefiledlg([optional, in] VARIANT initFile,[optional, in] VARIANT initDir,[optional, in] VARIANT filter,[optional, in] VARIANT title,[retval, out] BSTR* pathName);
    [id(DISPID_IHTMLOPTIONSHOLDER_CHOOSECOLORDLG)] HRESULT choosecolordlg([optional, in] VARIANT initColor,[retval, out] long* rgbColor);
    [id(DISPID_IHTMLOPTIONSHOLDER_SHOWSECURITYINFO)] HRESULT showSecurityInfo();
    [id(DISPID_IHTMLOPTIONSHOLDER_ISAPARTMENTMODEL)] HRESULT isApartmentModel([in] IHTMLObjectElement* object,[retval, out] VARIANT_BOOL* fApartment);
    [id(DISPID_IHTMLOPTIONSHOLDER_GETCHARSET)] HRESULT getCharset([in] BSTR fontName,[retval, out] long* charset);
    [propget, id(DISPID_IHTMLOPTIONSHOLDER_SECURECONNECTIONINFO)] HRESULT secureConnectionInfo([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f615-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLStyleElementEvents2
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)] VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)] VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)] VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)] VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)] void onkeydown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)] void onkeyup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)] void onmouseout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)] void onmouseover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)] void onmousemove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)] void onmousedown([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)] void onmouseup([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)] VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)] void onfilterchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)] VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)] void onafterupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)] VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)] void onrowenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)] void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)] void ondataavailable([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)] void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)] void onlosecapture([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)] void onpropertychange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)] void onscroll([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)] void onfocus([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)] void onblur([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)] void onresize([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)] VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)] void ondragend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)] VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)] VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)] void ondragleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)] VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)] VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)] VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)] VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)] VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)] void onrowsdelete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)] void onrowsinserted([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)] void oncellchange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)] void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)] void onpage([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)] void onmouseenter([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)] void onmouseleave([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)] void onactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)] void ondeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)] void onfocusin([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)] void onfocusout([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)] void onmove([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)] VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)] void onmoveend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)] VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)] void onresizeend([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLSTYLEELEMENTEVENTS2_ONLOAD)] void onload([in] IHTMLEventObj* pEvtObj);
    [id(DISPID_HTMLSTYLEELEMENTEVENTS2_ONERROR)] void onerror([in] IHTMLEventObj* pEvtObj);
};
[
    hidden,
    uuid(3050f3cb-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLStyleElementEvents
{
properties:
methods:
    [id(DISPID_HTMLELEMENTEVENTS_ONHELP)] VARIANT_BOOL onhelp();
    [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)] VARIANT_BOOL onclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)] VARIANT_BOOL ondblclick();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)] VARIANT_BOOL onkeypress();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)] void onkeydown();
    [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)] void onkeyup();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)] void onmouseout();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)] void onmouseover();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)] void onmousemove();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)] void onmousedown();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)] void onmouseup();
    [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)] VARIANT_BOOL onselectstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)] void onfilterchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)] VARIANT_BOOL ondragstart();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)] VARIANT_BOOL onbeforeupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)] void onafterupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)] VARIANT_BOOL onerrorupdate();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)] VARIANT_BOOL onrowexit();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)] void onrowenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)] void ondatasetchanged();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)] void ondataavailable();
    [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)] void ondatasetcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)] void onlosecapture();
    [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)] void onpropertychange();
    [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)] void onscroll();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)] void onfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)] void onblur();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)] void onresize();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)] VARIANT_BOOL ondrag();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)] void ondragend();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)] VARIANT_BOOL ondragenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)] VARIANT_BOOL ondragover();
    [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)] void ondragleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONDROP)] VARIANT_BOOL ondrop();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)] VARIANT_BOOL onbeforecut();
    [id(DISPID_HTMLELEMENTEVENTS_ONCUT)] VARIANT_BOOL oncut();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)] VARIANT_BOOL onbeforecopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)] VARIANT_BOOL oncopy();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)] VARIANT_BOOL onbeforepaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)] VARIANT_BOOL onpaste();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)] VARIANT_BOOL oncontextmenu();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)] void onrowsdelete();
    [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)] void onrowsinserted();
    [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)] void oncellchange();
    [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)] void onreadystatechange();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)] void onbeforeeditfocus();
    [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)] void onlayoutcomplete();
    [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)] void onpage();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)] VARIANT_BOOL onbeforedeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)] VARIANT_BOOL onbeforeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)] void onmove();
    [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)] VARIANT_BOOL oncontrolselect();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)] VARIANT_BOOL onmovestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)] void onmoveend();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)] VARIANT_BOOL onresizestart();
    [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)] void onresizeend();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)] void onmouseenter();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)] void onmouseleave();
    [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)] VARIANT_BOOL onmousewheel();
    [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)] void onactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)] void ondeactivate();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)] void onfocusin();
    [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)] void onfocusout();
    [id(DISPID_HTMLSTYLEELEMENTEVENTS_ONLOAD)] void onload();
    [id(DISPID_HTMLSTYLEELEMENTEVENTS_ONERROR)] void onerror();
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f375-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleElement : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable] HRESULT type([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable] HRESULT type([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_READYSTATE)] HRESULT readyState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable] HRESULT onload([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable] HRESULT onerror([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)] HRESULT styleSheet([retval, out] IHTMLStyleSheet* * p);
    [propput, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([in] VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_DISABLED), displaybind, bindable] HRESULT disabled([retval, out] VARIANT_BOOL * p);
    [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable] HRESULT media([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable] HRESULT media([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f511-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStyleElement
{
properties:
methods:
    [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
    [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
    [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
    [propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
    [propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
    [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
    [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
    [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
    [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
    [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
    [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
    [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
    [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
    [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
    [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
    [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
    [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
    [id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
    [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
    [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
    [propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
    [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
    [propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
    [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
    [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
    [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
    [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
    [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
    [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
    [id(DISPID_IHTMLELEMENT_CLICK)] void click();
    [propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
    [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
    [id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
    [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
    [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
    [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
    [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
    [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
    [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
    [propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
    [propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
    [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)] BSTR scopeName();
    [id(DISPID_IHTMLELEMENT2_SETCAPTURE)] void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
    [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)] void releaseCapture();
    [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] void onlosecapture(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] VARIANT onlosecapture();
    [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)] BSTR componentFromPoint([in] long x,[in] long y);
    [id(DISPID_IHTMLELEMENT2_DOSCROLL)] void doScroll([optional, in] VARIANT component);
    [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] void onscroll(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] VARIANT onscroll();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] void ondrag(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable] VARIANT ondrag();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] void ondragend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] VARIANT ondragend();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] void ondragenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] VARIANT ondragenter();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] void ondragover(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] VARIANT ondragover();
    [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] void ondragleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] VARIANT ondragleave();
    [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] void ondrop(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable] VARIANT ondrop();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] void onbeforecut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] VARIANT onbeforecut();
    [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] void oncut(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable] VARIANT oncut();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] void onbeforecopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] VARIANT onbeforecopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] void oncopy(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable] VARIANT oncopy();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] void onbeforepaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] VARIANT onbeforepaste();
    [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] void onpaste(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable] VARIANT onpaste();
    [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable] IHTMLCurrentStyle* currentStyle();
    [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] void onpropertychange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] VARIANT onpropertychange();
    [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)] IHTMLRectCollection* getClientRects();
    [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)] IHTMLRect* getBoundingClientRect();
    [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)] void setExpression([in] BSTR propname,[in] BSTR expression,[defaultvalue(""), in] BSTR language);
    [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)] VARIANT getExpression([in] BSTR propname);
    [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)] VARIANT_BOOL removeExpression([in] BSTR propname);
    [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] void tabIndex(short v);
    [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] short tabIndex();
    [id(DISPID_IHTMLELEMENT2_FOCUS)] void focus();
    [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable] BSTR accessKey();
    [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable] VARIANT onblur();
    [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable] VARIANT onfocus();
    [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] VARIANT onresize();
    [id(DISPID_IHTMLELEMENT2_BLUR)] void blur();
    [id(DISPID_IHTMLELEMENT2_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
    [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] long clientWidth();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] long clientTop();
    [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] long clientLeft();
    [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLELEMENT2_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
    [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] void onrowsdelete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] VARIANT onrowsdelete();
    [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] void onrowsinserted(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] VARIANT onrowsinserted();
    [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] void oncellchange(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] VARIANT oncellchange();
    [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] void dir(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable] BSTR dir();
    [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)] IDispatch* createControlRange();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] long scrollHeight();
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] long scrollWidth();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] void scrollTop(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable] long scrollTop();
    [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] void scrollLeft(long v);
    [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] long scrollLeft();
    [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)] void clearAttributes();
    [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] void oncontextmenu(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] VARIANT oncontextmenu();
    [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)] IHTMLElement* insertAdjacentElement([in] BSTR where,[in] IHTMLElement* insertedElement);
    [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)] IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)] BSTR getAdjacentText([in] BSTR where);
    [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)] BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
    [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)] VARIANT_BOOL canHaveChildren();
    [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)] long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
    [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)] VARIANT_BOOL removeBehavior([in] long cookie);
    [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable] IHTMLStyle* runtimeStyle();
    [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)] IDispatch* behaviorUrns();
    [propput, id(DISPID_IHTMLELEMENT2_TAGURN)] void tagUrn(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT2_TAGURN)] BSTR tagUrn();
    [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] void onbeforeeditfocus(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] VARIANT onbeforeeditfocus();
    [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] long readyStateValue();
    [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)] IHTMLElementCollection* getElementsByTagName([in] BSTR v);
    [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] void mergeAttributes([in] IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
    [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)] VARIANT_BOOL isMultiLine();
    [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)] VARIANT_BOOL canHaveHTML();
    [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] void onlayoutcomplete(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] VARIANT onlayoutcomplete();
    [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] void onpage(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable] VARIANT onpage();
    [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] void inflateBlock(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] VARIANT_BOOL inflateBlock();
    [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] void onbeforedeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] VARIANT onbeforedeactivate();
    [id(DISPID_IHTMLELEMENT3_SETACTIVE)] void setActive();
    [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] void contentEditable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] BSTR contentEditable();
    [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)] VARIANT_BOOL isContentEditable();
    [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] void hideFocus(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable] VARIANT_BOOL hideFocus();
    [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
    [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
    [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)] VARIANT_BOOL isDisabled();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] void onmove(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable] VARIANT onmove();
    [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] void oncontrolselect(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] VARIANT oncontrolselect();
    [id(DISPID_IHTMLELEMENT3_FIREEVENT)] VARIANT_BOOL fireEvent([in] BSTR bstrEventName,[optional, in] VARIANT* pvarEventObject);
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] void onresizestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] VARIANT onresizestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] void onresizeend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] VARIANT onresizeend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] void onmovestart(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] VARIANT onmovestart();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] void onmoveend(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable] VARIANT onmoveend();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] void onmouseenter(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] VARIANT onmouseenter();
    [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] void onmouseleave(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] VARIANT onmouseleave();
    [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] void onactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
    [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] void ondeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] VARIANT ondeactivate();
    [id(DISPID_IHTMLELEMENT3_DRAGDROP)] VARIANT_BOOL dragDrop();
    [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] LONG glyphMode();
    [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] void onmousewheel(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] VARIANT onmousewheel();
    [id(DISPID_IHTMLELEMENT4_NORMALIZE)] void normalize();
    [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)] IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)] IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
    [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
    [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] void onbeforeactivate(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] VARIANT onbeforeactivate();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] void onfocusin(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable] VARIANT onfocusin();
    [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] void onfocusout(VARIANT v);
    [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] VARIANT onfocusout();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden] long uniqueNumber();
    [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden] BSTR uniqueID();
    [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)] long nodeType();
    [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)] IHTMLDOMNode* parentNode();
    [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)] VARIANT_BOOL hasChildNodes();
    [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)] IDispatch* childNodes();
    [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)] IDispatch* attributes();
    [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)] IHTMLDOMNode* insertBefore([in] IHTMLDOMNode* newChild,[optional, in] VARIANT refChild);
    [id(DISPID_IHTMLDOMNODE_REMOVECHILD)] IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_REPLACECHILD)] IHTMLDOMNode* replaceChild([in] IHTMLDOMNode* newChild,[in] IHTMLDOMNode* oldChild);
    [id(DISPID_IHTMLDOMNODE_CLONENODE)] IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_REMOVENODE)] IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
    [id(DISPID_IHTMLDOMNODE_SWAPNODE)] IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
    [id(DISPID_IHTMLDOMNODE_REPLACENODE)] IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
    [id(DISPID_IHTMLDOMNODE_APPENDCHILD)] IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
    [propget, id(DISPID_IHTMLDOMNODE_NODENAME)] BSTR nodeName();
    [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)] void nodeValue(VARIANT v);
    [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)] VARIANT nodeValue();
    [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)] IHTMLDOMNode* firstChild();
    [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)] IHTMLDOMNode* lastChild();
    [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)] IHTMLDOMNode* previousSibling();
    [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)] IHTMLDOMNode* nextSibling();
    [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)] IDispatch* ownerDocument();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_getAttributeNode([in] BSTR bstrname);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_setAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)] IHTMLDOMAttribute2* ie8_removeAttributeNode([in] IHTMLDOMAttribute2* pattr);
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)] VARIANT_BOOL hasAttribute([in] BSTR name);
    [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] void role(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable] BSTR role();
    [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] void ariaBusy(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] BSTR ariaBusy();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] void ariaChecked(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] BSTR ariaChecked();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] void ariaDisabled(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] BSTR ariaDisabled();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] void ariaExpanded(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] BSTR ariaExpanded();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] void ariaHaspopup(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] BSTR ariaHaspopup();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] void ariaHidden(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] BSTR ariaHidden();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] void ariaInvalid(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] BSTR ariaInvalid();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] void ariaMultiselectable(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] BSTR ariaMultiselectable();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] void ariaPressed(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] BSTR ariaPressed();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] void ariaReadonly(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] BSTR ariaReadonly();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] void ariaRequired(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] BSTR ariaRequired();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] void ariaSecret(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] BSTR ariaSecret();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] void ariaSelected(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] BSTR ariaSelected();
    [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)] VARIANT ie8_getAttribute([in] BSTR strAttributeName);
    [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)] void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue);
    [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)] VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);
    [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)] IHTMLAttributeCollection3* ie8_attributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] void ariaValuenow(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] BSTR ariaValuenow();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] void ariaPosinset(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] short ariaPosinset();
    [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] void ariaSetsize(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] short ariaSetsize();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] void ariaLevel(short v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable] short ariaLevel();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] void ariaValuemin(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] BSTR ariaValuemin();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] void ariaValuemax(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] BSTR ariaValuemax();
    [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] void ariaControls(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] BSTR ariaControls();
    [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] void ariaDescribedby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] BSTR ariaDescribedby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] void ariaFlowto(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] BSTR ariaFlowto();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] void ariaLabelledby(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] BSTR ariaLabelledby();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] void ariaActivedescendant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] BSTR ariaActivedescendant();
    [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] void ariaOwns(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] BSTR ariaOwns();
    [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)] VARIANT_BOOL hasAttributes();
    [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] void ariaLive(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] BSTR ariaLive();
    [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] void ariaRelevant(BSTR v);
    [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] BSTR ariaRelevant();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propput, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable] void type(BSTR v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_TYPE), displaybind, bindable] BSTR type();
    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable] void onload(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONLOAD), displaybind, bindable] VARIANT onload();
    [propput, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable] void onerror(VARIANT v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_ONERROR), displaybind, bindable] VARIANT onerror();
    [propget, id(DISPID_IHTMLSTYLEELEMENT_STYLESHEET)] IHTMLStyleSheet* styleSheet();
    [propput, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable] void media(BSTR v);
    [propget, id(DISPID_IHTMLSTYLEELEMENT_MEDIA), displaybind, bindable] BSTR media();
};
[
    noncreatable,
    uuid(3050f37d-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleElement
{
    [default]           dispinterface DispHTMLStyleElement;
    [source, default]   dispinterface HTMLStyleElementEvents;
    [source]            dispinterface HTMLStyleElementEvents2;
                        interface IHTMLElement;
                        interface IHTMLElement2;
                        interface IHTMLElement3;
                        interface IHTMLElement4;
                        interface IHTMLUniqueName;
                        interface IHTMLDOMNode;
                        interface IHTMLDOMNode2;
                        interface IHTMLElement5;
                        interface IHTMLDOMConstructor;
                        interface IHTMLStyleElement;
};
cpp_quote("EXTERN_C const GUID CLSID_CStyleElement;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f3d5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStyleFontFace : IDispatch
{
    [propput, id(DISPID_IHTMLSTYLEFONTFACE_FONTSRC), displaybind, bindable] HRESULT fontsrc([in] BSTR v);
    [propget, id(DISPID_IHTMLSTYLEFONTFACE_FONTSRC), displaybind, bindable] HRESULT fontsrc([retval, out] BSTR * p);
};
[
    noncreatable,
    uuid(3050f3d4-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStyleFontFace
{
    [default]           interface IHTMLStyleFontFace;
};
cpp_quote("EXTERN_C const GUID CLSID_CFontFace;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510454-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLXDomainRequest : IDispatch
{
    [propget, id(DISPID_IHTMLXDOMAINREQUEST_RESPONSETEXT)] HRESULT responseText([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLXDOMAINREQUEST_TIMEOUT)] HRESULT timeout([in] long v);
    [propget, id(DISPID_IHTMLXDOMAINREQUEST_TIMEOUT)] HRESULT timeout([retval, out] long * p);
    [propget, id(DISPID_IHTMLXDOMAINREQUEST_CONTENTTYPE)] HRESULT contentType([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLXDOMAINREQUEST_ONPROGRESS)] HRESULT onprogress([in] VARIANT v);
    [propget, id(DISPID_IHTMLXDOMAINREQUEST_ONPROGRESS)] HRESULT onprogress([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLXDOMAINREQUEST_ONERROR)] HRESULT onerror([in] VARIANT v);
    [propget, id(DISPID_IHTMLXDOMAINREQUEST_ONERROR)] HRESULT onerror([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLXDOMAINREQUEST_ONTIMEOUT)] HRESULT ontimeout([in] VARIANT v);
    [propget, id(DISPID_IHTMLXDOMAINREQUEST_ONTIMEOUT)] HRESULT ontimeout([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLXDOMAINREQUEST_ONLOAD)] HRESULT onload([in] VARIANT v);
    [propget, id(DISPID_IHTMLXDOMAINREQUEST_ONLOAD)] HRESULT onload([retval, out] VARIANT * p);
    [id(DISPID_IHTMLXDOMAINREQUEST_ABORT)] HRESULT abort();
    [id(DISPID_IHTMLXDOMAINREQUEST_OPEN)] HRESULT open([in] BSTR bstrMethod,[in] BSTR bstrUrl);
    [id(DISPID_IHTMLXDOMAINREQUEST_SEND)] HRESULT send([optional, in] VARIANT varBody);
};
[
    odl,
    oleautomation,
    dual,
    uuid(30510456-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLXDomainRequestFactory : IDispatch
{
    [id(DISPID_IHTMLXDOMAINREQUESTFACTORY_CREATE)] HRESULT create([retval, out] IHTMLXDomainRequest** );
};
[
    hidden,
    uuid(3050f599-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispXDomainRequest
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(30510455-98b5-11cf-bb82-00aa00bdce0b)
]
coclass XDomainRequest
{
    [default]           dispinterface DispXDomainRequest;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CXDomainRequest;")
[
    noncreatable,
    uuid(30510457-98b5-11cf-bb82-00aa00bdce0b)
]
coclass XDomainRequestFactory
{
    [default]           interface IHTMLXDomainRequestFactory;
};
cpp_quote("EXTERN_C const GUID CLSID_CXDomainRequestFactory;")
[
    odl,
    oleautomation,
    dual,
    uuid(30510474-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLStorage : IDispatch
{
    [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden] HRESULT remainingSpace([retval, out] long * p);
    [id(DISPID_IHTMLSTORAGE_KEY)] HRESULT key([in] long lIndex,[retval, out] BSTR* );
    [id(DISPID_IHTMLSTORAGE_GETITEM)] HRESULT getItem([in] BSTR bstrKey,[retval, out] VARIANT* );
    [id(DISPID_IHTMLSTORAGE_SETITEM)] HRESULT setItem([in] BSTR bstrKey,[in] BSTR bstrValue);
    [id(DISPID_IHTMLSTORAGE_REMOVEITEM)] HRESULT removeItem([in] BSTR bstrKey);
    [id(DISPID_IHTMLSTORAGE_CLEAR)] HRESULT clear();
};
[
    hidden,
    uuid(3050f59d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLStorage
{
properties:
methods:
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
    [propget, id(DISPID_IHTMLSTORAGE_LENGTH), hidden] long length();
    [propget, id(DISPID_IHTMLSTORAGE_REMAININGSPACE), hidden] long remainingSpace();
    [id(DISPID_IHTMLSTORAGE_KEY)] BSTR key([in] long lIndex);
    [id(DISPID_IHTMLSTORAGE_GETITEM)] VARIANT getItem([in] BSTR bstrKey);
    [id(DISPID_IHTMLSTORAGE_SETITEM)] void setItem([in] BSTR bstrKey,[in] BSTR bstrValue);
    [id(DISPID_IHTMLSTORAGE_REMOVEITEM)] void removeItem([in] BSTR bstrKey);
    [id(DISPID_IHTMLSTORAGE_CLEAR)] void clear();
};
[
    noncreatable,
    uuid(30510475-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLStorage
{
    [default]           dispinterface DispHTMLStorage;
                        interface IHTMLDOMConstructor;
                        interface IHTMLStorage;
};
cpp_quote("EXTERN_C const GUID CLSID_CStorage;")
typedef enum _ELEMENT_CORNER
{
    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 = 2147483647L
} ELEMENT_CORNER;

typedef enum _SECUREURLHOSTVALIDATE_FLAGS
{
    SUHV_PROMPTBEFORENO = 0x00000001,
    SUHV_SILENTYES = 0x00000002,
    SUHV_UNSECURESOURCE = 0x00000004,
    SECUREURLHOSTVALIDATE_FLAGS_Max = 2147483647L
} SECUREURLHOSTVALIDATE_FLAGS;

typedef enum _POINTER_GRAVITY
{
    POINTER_GRAVITY_Left = 0,
    POINTER_GRAVITY_Right = 1,
    POINTER_GRAVITY_Max = 2147483647L
} POINTER_GRAVITY;

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

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

typedef enum _FINDTEXT_FLAGS
{
    FINDTEXT_BACKWARDS = 0x00000001,
    FINDTEXT_WHOLEWORD = 0x00000002,
    FINDTEXT_MATCHCASE = 0x00000004,
    FINDTEXT_RAW = 0x00020000,
    FINDTEXT_MATCHDIAC = 0x20000000,
    FINDTEXT_MATCHKASHIDA = 0x40000000,
    FINDTEXT_MATCHALEFHAMZA = 0x80000000,
    FINDTEXT_FLAGS_Max = 2147483647L
} FINDTEXT_FLAGS;

typedef enum _MOVEUNIT_ACTION
{
    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 = 2147483647L
} MOVEUNIT_ACTION;

typedef enum _PARSE_FLAGS
{
    PARSE_ABSOLUTIFYIE40URLS = 0x00000001,
    PARSE_FLAGS_Max = 2147483647L
} PARSE_FLAGS;

typedef enum _ELEMENT_TAG_ID
{
    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_ABBR = 110,
    TAGID_COUNT = 111,
    TAGID_LAST_PREDEFINED = 10000,
    ELEMENT_TAG_ID_Max = 2147483647L
} ELEMENT_TAG_ID;

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

typedef enum _SAVE_SEGMENTS_FLAGS
{
    SAVE_SEGMENTS_NoIE4SelectionCompat = 0x0001,
    SAVE_SEGMENTS_FLAGS_Max = 2147483647L
} SAVE_SEGMENTS_FLAGS;

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

typedef enum _LINE_DIRECTION
{
    LINE_DIRECTION_RightToLeft = 1,
    LINE_DIRECTION_LeftToRight = 2,
    LINE_DIRECTION_Max = 2147483647L
} LINE_DIRECTION;

typedef enum _HT_OPTIONS
{
    HT_OPT_AllowAfterEOL = 0x1,
    HT_OPTIONS_Max = 2147483647L
} HT_OPTIONS;

typedef enum _HT_RESULTS
{
    HT_RESULTS_Glyph = 0x1,
    HT_RESULTS_Max = 2147483647L
} HT_RESULTS;

typedef enum _DISPLAY_MOVEUNIT
{
    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 = 2147483647L
} DISPLAY_MOVEUNIT;

typedef enum _DISPLAY_GRAVITY
{
    DISPLAY_GRAVITY_PreviousLine = 1,
    DISPLAY_GRAVITY_NextLine = 2,
    DISPLAY_GRAVITY_Max = 2147483647L
} DISPLAY_GRAVITY;

typedef enum _DISPLAY_BREAK
{
    DISPLAY_BREAK_None = 0x0,
    DISPLAY_BREAK_Block = 0x1,
    DISPLAY_BREAK_Break = 0x2,
    DISPLAY_BREAK_Max = 2147483647L
} DISPLAY_BREAK;

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

interface IElementBehaviorSite;
interface ICSSFilterSite;
interface IMarkupPointer;
interface IMarkupContainer;
interface IMarkupContainer2;
interface IHTMLChangeLog;
interface IHTMLChangeSink;
interface IHTMLDocument2;
interface IActiveIMMApp;
interface ISegmentList;
interface ISegmentListIterator;
interface IHTMLCaret;
interface ISegment;
interface IElementSegment;
interface IHighlightSegment;
interface IHighlightRenderingServices;
interface ILineInfo;
interface IDisplayPointer;
interface IDisplayServices;
interface IHtmlDlgSafeHelper;
interface IBlockFormats;
interface IFontNames;
[
    object,
    pointer_default(unique),
    uuid(3050f3ed-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICSSFilterSite : IUnknown
{
    [] HRESULT GetElement([retval, out] IHTMLElement** Element);
    [] HRESULT FireOnFilterChangeEvent();
};
[
    object,
    pointer_default(unique),
    uuid(3050f3ec-98b5-11cf-bb82-00aa00bdce0b)
]
interface ICSSFilter : IUnknown
{
    [] HRESULT SetSite([in] ICSSFilterSite* pSink);
    [] HRESULT OnAmbientPropertyChange([in] LONG dispid);
};
[
    object,
    pointer_default(unique),
    uuid(c81984c4-74c8-11d2-baa9-00c04fc2040e)
]
interface ISecureUrlHost : IUnknown
{
    [] HRESULT ValidateSecureUrl([out] BOOL* pfAllow,[in] OLECHAR* pchUrlInQuestion,[in] DWORD dwFlags);
};
[
    object,
    pointer_default(unique),
    uuid(3050f4a0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IMarkupServices : IUnknown
{
    [] HRESULT CreateMarkupPointer([out] IMarkupPointer** ppPointer);
    [] HRESULT CreateMarkupContainer([out] IMarkupContainer** ppMarkupContainer);
    [] HRESULT CreateElement([in] ELEMENT_TAG_ID tagID,[in] OLECHAR* pchAttributes,[out] IHTMLElement** ppElement);
    [] HRESULT CloneElement([in] IHTMLElement* pElemCloneThis,[out] IHTMLElement** ppElementTheClone);
    [] HRESULT InsertElement([in] IHTMLElement* pElementInsert,[in] IMarkupPointer* pPointerStart,[in] IMarkupPointer* pPointerFinish);
    [] HRESULT RemoveElement([in] IHTMLElement* pElementRemove);
    [] HRESULT Remove([in] IMarkupPointer* pPointerStart,[in] IMarkupPointer* pPointerFinish);
    [] HRESULT Copy([in] IMarkupPointer* pPointerSourceStart,[in] IMarkupPointer* pPointerSourceFinish,[in] IMarkupPointer* pPointerTarget);
    [] HRESULT Move([in] IMarkupPointer* pPointerSourceStart,[in] IMarkupPointer* pPointerSourceFinish,[in] IMarkupPointer* pPointerTarget);
    [] HRESULT InsertText([in] OLECHAR* pchText,[in] long cch,[in] IMarkupPointer* pPointerTarget);
    [] HRESULT ParseString([in] OLECHAR* pchHTML,[in] DWORD dwFlags,[out] IMarkupContainer** ppContainerResult,[in] IMarkupPointer* ppPointerStart,[in] IMarkupPointer* ppPointerFinish);
    [] HRESULT ParseGlobal([in] HGLOBAL hglobalHTML,[in] DWORD dwFlags,[out] IMarkupContainer** ppContainerResult,[in] IMarkupPointer* pPointerStart,[in] IMarkupPointer* pPointerFinish);
    [] HRESULT IsScopedElement([in] IHTMLElement* pElement,[out] BOOL* pfScoped);
    [] HRESULT GetElementTagId([in] IHTMLElement* pElement,[out] ELEMENT_TAG_ID* ptagId);
    [] HRESULT GetTagIDForName([in] BSTR bstrName,[out] ELEMENT_TAG_ID* ptagId);
    [] HRESULT GetNameForTagID([in] ELEMENT_TAG_ID tagId,[out] BSTR* pbstrName);
    [] HRESULT MovePointersToRange([in] IHTMLTxtRange* pIRange,[in] IMarkupPointer* pPointerStart,[in] IMarkupPointer* pPointerFinish);
    [] HRESULT MoveRangeToPointers([in] IMarkupPointer* pPointerStart,[in] IMarkupPointer* pPointerFinish,[in] IHTMLTxtRange* pIRange);
    [] HRESULT BeginUndoUnit([in] OLECHAR* pchTitle);
    [] HRESULT EndUndoUnit();
};
[
    object,
    pointer_default(unique),
    uuid(3050f682-98b5-11cf-bb82-00aa00bdce0b)
]
interface IMarkupServices2 : IMarkupServices
{
    [] HRESULT ParseGlobalEx([in] HGLOBAL hglobalHTML,[in] DWORD dwFlags,[in] IMarkupContainer* pContext,[out] IMarkupContainer** ppContainerResult,[in] IMarkupPointer* pPointerStart,[in] IMarkupPointer* pPointerFinish);
    [] HRESULT ValidateElements([in] IMarkupPointer* pPointerStart,[in] IMarkupPointer* pPointerFinish,[in] IMarkupPointer* pPointerTarget,[in, out] IMarkupPointer* pPointerStatus,[out] IHTMLElement** ppElemFailBottom,[out] IHTMLElement** ppElemFailTop);
    [] HRESULT SaveSegmentsToClipboard([in] ISegmentList* pSegmentList,[in] DWORD dwFlags);
};
[
    object,
    pointer_default(unique),
    uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IMarkupContainer : IUnknown
{
    [] HRESULT OwningDoc([out] IHTMLDocument2** ppDoc);
};
[
    object,
    pointer_default(unique),
    uuid(3050f648-98b5-11cf-bb82-00aa00bdce0b)
]
interface IMarkupContainer2 : IMarkupContainer
{
    [] HRESULT CreateChangeLog([in] IHTMLChangeSink* pChangeSink,[out] IHTMLChangeLog** ppChangeLog,[in] BOOL fForward,[in] BOOL fBackward);
    [] HRESULT RegisterForDirtyRange([in] IHTMLChangeSink* pChangeSink,[out] DWORD* pdwCookie);
    [] HRESULT UnRegisterForDirtyRange([in] DWORD dwCookie);
    [] HRESULT GetAndClearDirtyRange([in] DWORD dwCookie,[in] IMarkupPointer* pIPointerBegin,[in] IMarkupPointer* pIPointerEnd);
    [] long GetVersionNumber();
    [] HRESULT GetMasterElement([out] IHTMLElement** ppElementMaster);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6e0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLChangePlayback : IUnknown
{
    [] HRESULT ExecChange([in] BYTE* pbRecord,[in] BOOL fForward);
};
[
    object,
    pointer_default(unique),
    uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IMarkupPointer : IUnknown
{
    [] HRESULT OwningDoc([out] IHTMLDocument2** ppDoc);
    [] HRESULT Gravity([out] POINTER_GRAVITY* pGravity);
    [] HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
    [] HRESULT Cling([out] BOOL* pfCling);
    [] HRESULT SetCling([in] BOOL fCLing);
    [] HRESULT Unposition();
    [] HRESULT IsPositioned([out] BOOL* pfPositioned);
    [] HRESULT GetContainer([out] IMarkupContainer** ppContainer);
    [] HRESULT MoveAdjacentToElement([in] IHTMLElement* pElement,[in] ELEMENT_ADJACENCY eAdj);
    [] HRESULT MoveToPointer([in] IMarkupPointer* pPointer);
    [] HRESULT MoveToContainer([in] IMarkupContainer* pContainer,[in] BOOL fAtStart);
    [] HRESULT Left([in] BOOL fMove,[out] MARKUP_CONTEXT_TYPE* pContext,[out] IHTMLElement** ppElement,[in, out] long* pcch,[out, size_is(*pcch)] OLECHAR* pchText);
    [] HRESULT Right([in] BOOL fMove,[out] MARKUP_CONTEXT_TYPE* pContext,[out] IHTMLElement** ppElement,[in, out] long* pcch,[out, size_is(*pcch)] OLECHAR* pchText);
    [] HRESULT CurrentScope([out] IHTMLElement** ppElemCurrent);
    [] HRESULT IsLeftOf([in] IMarkupPointer* pPointerThat,[out] BOOL* pfResult);
    [] HRESULT IsLeftOfOrEqualTo([in] IMarkupPointer* pPointerThat,[out] BOOL* pfResult);
    [] HRESULT IsRightOf([in] IMarkupPointer* pPointerThat,[out] BOOL* pfResult);
    [] HRESULT IsRightOfOrEqualTo([in] IMarkupPointer* pPointerThat,[out] BOOL* pfResult);
    [] HRESULT IsEqualTo([in] IMarkupPointer* pPointerThat,[out] BOOL* pfAreEqual);
    [] HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
    [] HRESULT FindText([in, string] OLECHAR* pchFindText,[in] DWORD dwFlags,[in] IMarkupPointer* pIEndMatch,[in] IMarkupPointer* pIEndSearch);
};
[
    object,
    pointer_default(unique),
    uuid(3050f675-98b5-11cf-bb82-00aa00bdce0b)
]
interface IMarkupPointer2 : IMarkupPointer
{
    [] HRESULT IsAtWordBreak([out] BOOL* pfAtBreak);
    [] HRESULT GetMarkupPosition([out] long* plMP);
    [] HRESULT MoveToMarkupPosition([in] IMarkupContainer* pContainer,[in] long lMP);
    [] HRESULT MoveUnitBounded([in] MOVEUNIT_ACTION muAction,[in] IMarkupPointer* pIBoundary);
    [] HRESULT IsInsideURL([in] IMarkupPointer* pRight,[out] BOOL* pfResult);
    [] HRESULT MoveToContent([in] IHTMLElement* pIElement,[in] BOOL fAtStart);
};
[
    object,
    pointer_default(unique),
    uuid(3050f5fa-98b5-11cf-bb82-00aa00bdce0b)
]
interface IMarkupTextFrags : IUnknown
{
    [] HRESULT GetTextFragCount([out] long* pcFrags);
    [] HRESULT GetTextFrag([in] long iFrag,[out] BSTR* pbstrFrag,[in] IMarkupPointer* pPointerFrag);
    [] HRESULT RemoveTextFrag([in] long iFrag);
    [] HRESULT InsertTextFrag([in] long iFrag,[in] BSTR bstrInsert,[in] IMarkupPointer* pPointerInsert);
    [] HRESULT FindTextFragFromMarkupPointer([in] IMarkupPointer* pPointerFind,[out] long* piFrag,[out] BOOL* pfFragFound);
};
[
    object,
    pointer_default(unique),
    uuid(3050f649-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLChangeLog : IUnknown
{
    [] HRESULT GetNextChange([in] BYTE* pbBuffer,[in] long nBufferSize,[out] long* pnRecordLength);
};
[
    object,
    pointer_default(unique),
    uuid(3050f64a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLChangeSink : IUnknown
{
    [] HRESULT Notify();
};
[
    object,
    pointer_default(unique),
    uuid(E4E23071-4D07-11d2-AE76-0080C73BC199)
]
interface IXMLGenericParse : IUnknown
{
    [] HRESULT SetGenericParse([in] VARIANT_BOOL fDoGeneric);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6a0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEditHost : IUnknown
{
    [] HRESULT SnapRect([in] IHTMLElement* pIElement,[in, out] RECT* prcNew,[in] ELEMENT_CORNER eHandle);
};
[
    object,
    pointer_default(unique),
    uuid(3050f848-98b5-11cf-bb82-00aa00bdce0d)
]
interface IHTMLEditHost2 : IHTMLEditHost
{
    [] HRESULT PreDrag();
};
[
    object,
    pointer_default(unique),
    uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISegment : IUnknown
{
    [] HRESULT GetPointers([in] IMarkupPointer* pIStart,[in] IMarkupPointer* pIEnd);
};
[
    object,
    pointer_default(unique),
    uuid(3050f692-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISegmentListIterator : IUnknown
{
    [] HRESULT Current([out] ISegment** ppISegment);
    [] HRESULT First();
    [] HRESULT IsDone();
    [] HRESULT Advance();
};
[
    object,
    pointer_default(unique),
    uuid(3050f605-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISegmentList : IUnknown
{
    [] HRESULT CreateIterator([out] ISegmentListIterator** ppIIter);
    [] HRESULT GetType([out] SELECTION_TYPE* peType);
    [] HRESULT IsEmpty([out] BOOL* pfEmpty);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6c1-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISequenceNumber : IUnknown
{
    [] HRESULT GetSequenceNumber([in] long nCurrent,[out] long* pnNew);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6ca-98b5-11cf-bb82-00aa00bdce0b)
]
interface IIMEServices : IUnknown
{
    [] HRESULT GetActiveIMM([out] IActiveIMMApp** ppActiveIMM);
};
[
    object,
    pointer_default(unique),
    uuid(3050f604-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLCaret : IUnknown
{
    [] HRESULT MoveCaretToPointer([in] IDisplayPointer* pDispPointer,[in] BOOL fScrollIntoView,[in] CARET_DIRECTION eDir);
    [] HRESULT MoveCaretToPointerEx([in] IDisplayPointer* pDispPointer,[in] BOOL fVisible,[in] BOOL fScrollIntoView,[in] CARET_DIRECTION eDir);
    [] HRESULT MoveMarkupPointerToCaret([in] IMarkupPointer* pIMarkupPointer);
    [] HRESULT MoveDisplayPointerToCaret([in] IDisplayPointer* pDispPointer);
    [] HRESULT IsVisible([out] BOOL* pIsVisible);
    [] HRESULT Show([in] BOOL fScrollIntoView);
    [] HRESULT Hide();
    [] HRESULT InsertText([in] OLECHAR* pText,[in] LONG lLen);
    [] HRESULT ScrollIntoView();
    [] HRESULT GetLocation([out] POINT* pPoint,[in] BOOL fTranslate);
    [] HRESULT GetCaretDirection([out] CARET_DIRECTION* peDir);
    [] HRESULT SetCaretDirection([in] CARET_DIRECTION eDir);
};
[
    object,
    pointer_default(unique),
    uuid(3050f606-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHighlightRenderingServices : IUnknown
{
    [] HRESULT AddSegment([in] IDisplayPointer* pDispPointerStart,[in] IDisplayPointer* pDispPointerEnd,[in] IHTMLRenderStyle* pIRenderStyle,[out] IHighlightSegment** ppISegment);
    [] HRESULT MoveSegmentToPointers([in] IHighlightSegment* pISegment,[in] IDisplayPointer* pDispPointerStart,[in] IDisplayPointer* pDispPointerEnd);
    [] HRESULT RemoveSegment([in] IHighlightSegment* pISegment);
};
[
    object,
    pointer_default(unique),
    uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISelectionServicesListener : IUnknown
{
    [] HRESULT BeginSelectionUndo();
    [] HRESULT EndSelectionUndo();
    [] HRESULT OnSelectedElementExit([in] IMarkupPointer* pIElementStart,[in] IMarkupPointer* pIElementEnd,[in] IMarkupPointer* pIElementContentStart,[in] IMarkupPointer* pIElementContentEnd);
    [] HRESULT OnChangeType([in] SELECTION_TYPE eType,[in] ISelectionServicesListener* pIListener);
    [] HRESULT GetTypeDetail([out] BSTR* pTypeDetail);
};
[
    object,
    pointer_default(unique),
    uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
]
interface ISelectionServices : IUnknown
{
    [] HRESULT SetSelectionType([in] SELECTION_TYPE eType,[in] ISelectionServicesListener* pIListener);
    [] HRESULT GetMarkupContainer([out] IMarkupContainer** ppIContainer);
    [] HRESULT AddSegment([in] IMarkupPointer* pIStart,[in] IMarkupPointer* pIEnd,[out] ISegment** ppISegmentAdded);
    [] HRESULT AddElementSegment([in] IHTMLElement* pIElement,[out] IElementSegment** ppISegmentAdded);
    [] HRESULT RemoveSegment([in] ISegment* pISegment);
    [] HRESULT GetSelectionServicesListener([out] ISelectionServicesListener** ppISelectionServicesListener);
};
[
    object,
    pointer_default(unique),
    uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementSegment : ISegment
{
    [] HRESULT GetElement([out] IHTMLElement** ppIElement);
    [] HRESULT SetPrimary([in] BOOL fPrimary);
    [] HRESULT IsPrimary([out] BOOL* pfPrimary);
};
[
    object,
    pointer_default(unique),
    uuid(3050f690-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHighlightSegment : ISegment
{
};
[
    object,
    pointer_default(unique),
    uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEditDesigner : IUnknown
{
    [] HRESULT PreHandleEvent([in] DISPID inEvtDispId,[in] IHTMLEventObj* pIEventObj);
    [] HRESULT PostHandleEvent([in] DISPID inEvtDispId,[in] IHTMLEventObj* pIEventObj);
    [] HRESULT TranslateAccelerator([in] DISPID inEvtDispId,[in] IHTMLEventObj* pIEventObj);
    [] HRESULT PostEditorEventNotify([in] DISPID inEvtDispId,[in] IHTMLEventObj* pIEventObj);
};
[
    object,
    pointer_default(unique),
    uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEditServices : IUnknown
{
    [] HRESULT AddDesigner([in] IHTMLEditDesigner* pIDesigner);
    [] HRESULT RemoveDesigner([in] IHTMLEditDesigner* pIDesigner);
    [] HRESULT GetSelectionServices([in] IMarkupContainer* pIContainer,[out] ISelectionServices** ppSelSvc);
    [] HRESULT MoveToSelectionAnchor([in] IMarkupPointer* pIStartAnchor);
    [] HRESULT MoveToSelectionEnd([in] IMarkupPointer* pIEndAnchor);
    [] HRESULT SelectRange([in] IMarkupPointer* pStart,[in] IMarkupPointer* pEnd,[in] SELECTION_TYPE eType);
};
[
    object,
    pointer_default(unique),
    uuid(3050f812-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLEditServices2 : IHTMLEditServices
{
    [] HRESULT MoveToSelectionAnchorEx([in] IDisplayPointer* pIStartAnchor);
    [] HRESULT MoveToSelectionEndEx([in] IDisplayPointer* pIEndAnchor);
    [] HRESULT FreezeVirtualCaretPos([in] BOOL fReCompute);
    [] HRESULT UnFreezeVirtualCaretPos([in] BOOL fReset);
};
[
    object,
    pointer_default(unique),
    uuid(3050f7e2-98b5-11cf-bb82-00aa00bdce0b)
]
interface ILineInfo : IUnknown
{
    [propget, id(DISPID_ILINEINFO_X)] HRESULT x([retval, out] long * p);
    [propget, id(DISPID_ILINEINFO_BASELINE)] HRESULT baseLine([retval, out] long * p);
    [propget, id(DISPID_ILINEINFO_TEXTDESCENT)] HRESULT textDescent([retval, out] long * p);
    [propget, id(DISPID_ILINEINFO_TEXTHEIGHT)] HRESULT textHeight([retval, out] long * p);
    [propget, id(DISPID_ILINEINFO_LINEDIRECTION)] HRESULT lineDirection([retval, out] LONG * p);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6c3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLComputedStyle : IUnknown
{
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_BOLD)] HRESULT bold([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_ITALIC)] HRESULT italic([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_UNDERLINE)] HRESULT underline([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_OVERLINE)] HRESULT overline([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_STRIKEOUT)] HRESULT strikeOut([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_SUBSCRIPT)] HRESULT subScript([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_SUPERSCRIPT)] HRESULT superScript([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_EXPLICITFACE)] HRESULT explicitFace([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_FONTWEIGHT)] HRESULT fontWeight([retval, out] long * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_FONTSIZE)] HRESULT fontSize([retval, out] long * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_FONTNAME)] HRESULT fontName([retval, out] TCHAR * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_HASBGCOLOR)] HRESULT hasBgColor([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_TEXTCOLOR)] HRESULT textColor([retval, out] DWORD * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_BACKGROUNDCOLOR)] HRESULT backgroundColor([retval, out] DWORD * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_PREFORMATTED)] HRESULT preFormatted([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_DIRECTION)] HRESULT direction([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_BLOCKDIRECTION)] HRESULT blockDirection([retval, out] VARIANT_BOOL * p);
    [propget, id(DISPID_IHTMLCOMPUTEDSTYLE_OL)] HRESULT OL([retval, out] VARIANT_BOOL * p);
    [] HRESULT IsEqual([in] IHTMLComputedStyle* pComputedStyle,[out] VARIANT_BOOL* pfEqual);
};
[
    object,
    pointer_default(unique),
    uuid(3050f69e-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDisplayPointer : IUnknown
{
    [] HRESULT MoveToPoint([in] POINT ptPoint,[in] COORD_SYSTEM eCoordSystem,[in] IHTMLElement* pElementContext,[in] DWORD dwHitTestOptions,[out] DWORD* pdwHitTestResults);
    [] HRESULT MoveUnit([in] DISPLAY_MOVEUNIT eMoveUnit,[in] LONG lXPos);
    [] HRESULT PositionMarkupPointer([in] IMarkupPointer* pMarkupPointer);
    [] HRESULT MoveToPointer([in] IDisplayPointer* pDispPointer);
    [] HRESULT SetPointerGravity([in] POINTER_GRAVITY eGravity);
    [] HRESULT GetPointerGravity([out] POINTER_GRAVITY* peGravity);
    [] HRESULT SetDisplayGravity([in] DISPLAY_GRAVITY eGravity);
    [] HRESULT GetDisplayGravity([out] DISPLAY_GRAVITY* peGravity);
    [] HRESULT IsPositioned([out] BOOL* pfPositioned);
    [] HRESULT Unposition();
    [] HRESULT IsEqualTo([in] IDisplayPointer* pDispPointer,[out] BOOL* pfIsEqual);
    [] HRESULT IsLeftOf([in] IDisplayPointer* pDispPointer,[out] BOOL* pfIsLeftOf);
    [] HRESULT IsRightOf([in] IDisplayPointer* pDispPointer,[out] BOOL* pfIsRightOf);
    [] HRESULT IsAtBOL([out] BOOL* pfBOL);
    [] HRESULT MoveToMarkupPointer([in] IMarkupPointer* pPointer,[in] IDisplayPointer* pDispLineContext);
    [] HRESULT ScrollIntoView();
    [] HRESULT GetLineInfo([out] ILineInfo** ppLineInfo);
    [] HRESULT GetFlowElement([out] IHTMLElement** ppLayoutElement);
    [] HRESULT QueryBreaks([out] DWORD* pdwBreaks);
};
[
    object,
    pointer_default(unique),
    uuid(3050f69d-98b5-11cf-bb82-00aa00bdce0b)
]
interface IDisplayServices : IUnknown
{
    [] HRESULT CreateDisplayPointer([out] IDisplayPointer** ppDispPointer);
    [] HRESULT TransformRect([in, out] RECT* pRect,[in] COORD_SYSTEM eSource,[in] COORD_SYSTEM eDestination,[in] IHTMLElement* pIElement);
    [] HRESULT TransformPoint([in, out] POINT* pPoint,[in] COORD_SYSTEM eSource,[in] COORD_SYSTEM eDestination,[in] IHTMLElement* pIElement);
    [] HRESULT GetCaret([out] IHTMLCaret** ppCaret);
    [] HRESULT GetComputedStyle([in] IMarkupPointer* pPointer,[out] IHTMLComputedStyle** ppComputedStyle);
    [] HRESULT ScrollRectIntoView([in] IHTMLElement* pIElement,[in] RECT rect);
    [] HRESULT HasFlowLayout([in] IHTMLElement* pIElement,[out] BOOL* pfHasFlowLayout);
};
[
    object,
    pointer_default(unique),
    uuid(3050f81a-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHtmlDlgSafeHelper : IDispatch
{
    [id(DISPID_IHTMLDLGSAFEHELPER_CHOOSECOLORDLG)] HRESULT choosecolordlg([optional, in] VARIANT initColor,[retval, out] VARIANT* rgbColor);
    [id(DISPID_IHTMLDLGSAFEHELPER_GETCHARSET)] HRESULT getCharset([in] BSTR fontName,[retval, out] VARIANT* charset);
    [propget, id(DISPID_IHTMLDLGSAFEHELPER_FONTS)] HRESULT Fonts([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDLGSAFEHELPER_BLOCKFORMATS)] HRESULT BlockFormats([retval, out] IDispatch* * p);
};
[
    object,
    pointer_default(unique),
    uuid(3050f830-98b5-11cf-bb82-00aa00bdce0b)
]
interface IBlockFormats : IDispatch
{
    [propget, id(DISPID_IBLOCKFORMATS__NEWENUM), restricted] HRESULT _NewEnum([retval, out] IUnknown* * p);
    [propget, id(DISPID_IBLOCKFORMATS_COUNT)] HRESULT Count([retval, out] long * p);
    [id(DISPID_IBLOCKFORMATS_ITEM)] HRESULT Item([in] VARIANT* pvarIndex,[retval, out] BSTR* pbstrBlockFormat);
};
[
    object,
    pointer_default(unique),
    uuid(3050f839-98b5-11cf-bb82-00aa00bdce0b)
]
interface IFontNames : IDispatch
{
    [propget, id(DISPID_IFONTNAMES__NEWENUM), restricted] HRESULT _NewEnum([retval, out] IUnknown* * p);
    [propget, id(DISPID_IFONTNAMES_COUNT)] HRESULT Count([retval, out] long * p);
    [id(DISPID_IFONTNAMES_ITEM)] HRESULT Item([in] VARIANT* pvarIndex,[retval, out] BSTR* pbstrFontName);
};
[
    noncreatable,
    uuid(3050f819-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HtmlDlgSafeHelper
{
    [default]           interface IHtmlDlgSafeHelper;
};
cpp_quote("EXTERN_C const GUID CLSID_HtmlDlgSafeHelper;")
[
    noncreatable,
    uuid(3050f831-98b5-11cf-bb82-00aa00bdce0b)
]
coclass BlockFormats
{
    [default]           interface IBlockFormats;
};
cpp_quote("EXTERN_C const GUID CLSID_BlockFormats;")
[
    noncreatable,
    uuid(3050f83a-98b5-11cf-bb82-00aa00bdce0b)
]
coclass FontNames
{
    [default]           interface IFontNames;
};
cpp_quote("EXTERN_C const GUID CLSID_FontNames;")
[
    hidden,
    uuid(3050f6bd-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface HTMLNamespaceEvents
{
properties:
methods:
    [id(DISPID_HTMLNAMESPACEEVENTS_ONREADYSTATECHANGE)] void onreadystatechange([in] IHTMLEventObj* pEvtObj);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f6bb-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLNamespace : IDispatch
{
    [propget, id(DISPID_IHTMLNAMESPACE_NAME), bindable] HRESULT name([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLNAMESPACE_URN), bindable] HRESULT urn([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLNAMESPACE_TAGNAMES), bindable] HRESULT tagNames([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLNAMESPACE_READYSTATE), bindable] HRESULT readyState([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLNAMESPACE_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([in] VARIANT v);
    [propget, id(DISPID_IHTMLNAMESPACE_ONREADYSTATECHANGE), displaybind, bindable] HRESULT onreadystatechange([retval, out] VARIANT * p);
    [id(DISPID_IHTMLNAMESPACE_DOIMPORT)] HRESULT doImport([in] BSTR bstrImplementationUrl);
    [id(DISPID_IHTMLNAMESPACE_ATTACHEVENT)] HRESULT attachEvent([in] BSTR event,[in] IDispatch* pDisp,[retval, out] VARIANT_BOOL* pfResult);
    [id(DISPID_IHTMLNAMESPACE_DETACHEVENT)] HRESULT detachEvent([in] BSTR event,[in] IDispatch* pDisp);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f6b8-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLNamespaceCollection : IDispatch
{
    [propget, id(DISPID_IHTMLNAMESPACECOLLECTION_LENGTH)] HRESULT length([retval, out] long * p);
    [id(DISPID_IHTMLNAMESPACECOLLECTION_ITEM)] HRESULT item([in] VARIANT index,[retval, out] IDispatch** ppNamespace);
    [id(DISPID_IHTMLNAMESPACECOLLECTION_ADD)] HRESULT add([in] BSTR bstrNamespace,[in] BSTR bstrUrn,[optional, in] VARIANT implementationUrl,[retval, out] IDispatch** ppNamespace);
};
[
    hidden,
    uuid(3050f54f-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLNamespace
{
properties:
methods:
    [propget, id(DISPID_IHTMLNAMESPACE_NAME), bindable] BSTR name();
    [propget, id(DISPID_IHTMLNAMESPACE_URN), bindable] BSTR urn();
    [propget, id(DISPID_IHTMLNAMESPACE_TAGNAMES), bindable] IDispatch* tagNames();
    [propget, id(DISPID_IHTMLNAMESPACE_READYSTATE), bindable] VARIANT readyState();
    [propput, id(DISPID_IHTMLNAMESPACE_ONREADYSTATECHANGE), displaybind, bindable] void onreadystatechange(VARIANT v);
    [propget, id(DISPID_IHTMLNAMESPACE_ONREADYSTATECHANGE), displaybind, bindable] VARIANT onreadystatechange();
    [id(DISPID_IHTMLNAMESPACE_DOIMPORT)] void doImport([in] BSTR bstrImplementationUrl);
    [id(DISPID_IHTMLNAMESPACE_ATTACHEVENT)] VARIANT_BOOL attachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [id(DISPID_IHTMLNAMESPACE_DETACHEVENT)] void detachEvent([in] BSTR event,[in] IDispatch* pDisp);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f6bc-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLNamespace
{
    [default]           dispinterface DispHTMLNamespace;
    [source, default]   dispinterface HTMLNamespaceEvents;
                        interface IHTMLNamespace;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CHTMLNamespace;")
[
    hidden,
    uuid(3050f550-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLNamespaceCollection
{
properties:
methods:
    [propget, id(DISPID_IHTMLNAMESPACECOLLECTION_LENGTH)] long length();
    [id(DISPID_IHTMLNAMESPACECOLLECTION_ITEM)] IDispatch* item([in] VARIANT index);
    [id(DISPID_IHTMLNAMESPACECOLLECTION_ADD)] IDispatch* add([in] BSTR bstrNamespace,[in] BSTR bstrUrn,[optional, in] VARIANT implementationUrl);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    noncreatable,
    uuid(3050f6b9-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLNamespaceCollection
{
    [default]           dispinterface DispHTMLNamespaceCollection;
                        interface IHTMLNamespaceCollection;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CHTMLNamespaceCollection;")
typedef enum _HTML_PAINTER
{
    HTMLPAINTER_OPAQUE = 0x000001,
    HTMLPAINTER_TRANSPARENT = 0x000002,
    HTMLPAINTER_ALPHA = 0x000004,
    HTMLPAINTER_COMPLEX = 0x000008,
    HTMLPAINTER_OVERLAY = 0x000010,
    HTMLPAINTER_HITTEST = 0x000020,
    HTMLPAINTER_SURFACE = 0x000100,
    HTMLPAINTER_3DSURFACE = 0x000200,
    HTMLPAINTER_NOBAND = 0x000400,
    HTMLPAINTER_NODC = 0x001000,
    HTMLPAINTER_NOPHYSICALCLIP = 0x002000,
    HTMLPAINTER_NOSAVEDC = 0x004000,
    HTMLPAINTER_SUPPORTS_XFORM = 0x008000,
    HTMLPAINTER_EXPAND = 0x010000,
    HTMLPAINTER_NOSCROLLBITS = 0x020000,
    HTML_PAINTER_Max = 2147483647L
} HTML_PAINTER;

typedef enum _HTML_PAINT_ZORDER
{
    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 = 2147483647L
} HTML_PAINT_ZORDER;

typedef enum _HTML_PAINT_DRAW_FLAGS
{
    HTMLPAINT_DRAW_UPDATEREGION = 0x000001,
    HTMLPAINT_DRAW_USE_XFORM = 0x000002,
    HTML_PAINT_DRAW_FLAGS_Max = 2147483647L
} HTML_PAINT_DRAW_FLAGS;

typedef enum _HTML_PAINT_EVENT_FLAGS
{
    HTMLPAINT_EVENT_TARGET = 0x0001,
    HTMLPAINT_EVENT_SETCURSOR = 0x0002,
    HTML_PAINT_EVENT_FLAGS_Max = 2147483647L
} HTML_PAINT_EVENT_FLAGS;

typedef enum _HTML_PAINT_DRAW_INFO_FLAGS
{
    HTMLPAINT_DRAWINFO_VIEWPORT = 0x000001,
    HTMLPAINT_DRAWINFO_UPDATEREGION = 0x000002,
    HTMLPAINT_DRAWINFO_XFORM = 0x000004,
    HTML_PAINT_DRAW_INFO_FLAGS_Max = 2147483647L
} HTML_PAINT_DRAW_INFO_FLAGS;

typedef struct _HTML_PAINTER_INFO
{
    LONG lFlags;
    LONG lZOrder;
    IID iidDrawObject;
    RECT rcExpand;
} HTML_PAINTER_INFO;

typedef struct _HTML_PAINT_XFORM
{
    FLOAT eM11;
    FLOAT eM12;
    FLOAT eM21;
    FLOAT eM22;
    FLOAT eDx;
    FLOAT eDy;
} HTML_PAINT_XFORM;

typedef struct _HTML_PAINT_DRAW_INFO
{
    RECT rcViewport;
    HRGN hrgnUpdate;
    HTML_PAINT_XFORM xform;
} HTML_PAINT_DRAW_INFO;

interface IHTMLPainter;
interface IHTMLPaintSite;
[
    object,
    pointer_default(unique),
    uuid(3050f6a6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPainter : IUnknown
{
    [] HRESULT Draw([in] RECT rcBounds,[in] RECT rcUpdate,[in] LONG lDrawFlags,[in] HDC hdc,[in] LPVOID pvDrawObject);
    [] HRESULT OnResize([in] SIZE size);
    [] HRESULT GetPainterInfo([out] HTML_PAINTER_INFO* pInfo);
    [] HRESULT HitTestPoint([in] POINT pt,[out] BOOL* pbHit,[out] LONG* plPartID);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6df-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPainterEventInfo : IUnknown
{
    [] HRESULT GetEventInfoFlags([out] long* plEventInfoFlags);
    [] HRESULT GetEventTarget([in] IHTMLElement** ppElement);
    [] HRESULT SetCursor([in] LONG lPartID);
    [] HRESULT StringFromPartID([in] LONG lPartID,[out] BSTR* pbstrPart);
};
[
    object,
    pointer_default(unique),
    uuid(3050f7e3-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPainterOverlay : IUnknown
{
    [] HRESULT OnMove([in] RECT rcDevice);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6a7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPaintSite : IUnknown
{
    [] HRESULT InvalidatePainterInfo();
    [] HRESULT InvalidateRect([in] RECT* prcInvalid);
    [] HRESULT InvalidateRegion([in] HRGN rgnInvalid);
    [] HRESULT GetDrawInfo([in] LONG lFlags,[out] HTML_PAINT_DRAW_INFO* pDrawInfo);
    [] HRESULT TransformGlobalToLocal([in] POINT ptGlobal,[out] POINT* pptLocal);
    [] HRESULT TransformLocalToGlobal([in] POINT ptLocal,[out] POINT* pptGlobal);
    [] HRESULT GetHitTestCookie([out] LONG* plCookie);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f6b5-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLIPrintCollection : IDispatch
{
    [propget, id(DISPID_IHTMLIPRINTCOLLECTION_LENGTH), hidden] HRESULT length([retval, out] long * p);
    [propget, id(DISPID_IHTMLIPRINTCOLLECTION__NEWENUM), hidden, restricted] HRESULT _newEnum([retval, out] IUnknown* * p);
    [id(DISPID_IHTMLIPRINTCOLLECTION_ITEM)] HRESULT item([in] long index,[retval, out] IUnknown** ppIPrint);
};
[
    object,
    pointer_default(unique),
    uuid(3050f844-98b5-11cf-bb82-00aa00bdce0b)
]
interface IEnumPrivacyRecords : IUnknown
{
    [] HRESULT Reset();
    [] HRESULT GetSize([out] ULONG* pSize);
    [] HRESULT GetPrivacyImpacted([out] BOOL* pState);
    [] HRESULT Next([out] BSTR* pbstrUrl,[out] BSTR* pbstrPolicyRef,[out] LONG* pdwReserved,[out] DWORD* pdwPrivacyFlags);
};
[
    object,
    pointer_default(unique),
    uuid(30510413-98b5-11cf-bb82-00aa00bdce0b)
]
interface IWPCBlockedUrls : IUnknown
{
    [] HRESULT GetCount([out] DWORD* pdwCount);
    [] HRESULT GetUrl([in] DWORD dwIdx,[out] BSTR* pbstrUrl);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3051049c-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDOMConstructorCollection : IDispatch
{
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_ATTR)] HRESULT Attr([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_BEHAVIORURNSCOLLECTION)] HRESULT BehaviorUrnsCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_BOOKMARKCOLLECTION)] HRESULT BookmarkCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_COMPATIBLEINFO)] HRESULT CompatibleInfo([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_COMPATIBLEINFOCOLLECTION)] HRESULT CompatibleInfoCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CONTROLRANGECOLLECTION)] HRESULT ControlRangeCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSCURRENTSTYLEDECLARATION)] HRESULT CSSCurrentStyleDeclaration([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSRULELIST)] HRESULT CSSRuleList([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSRULESTYLEDECLARATION)] HRESULT CSSRuleStyleDeclaration([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLEDECLARATION)] HRESULT CSSStyleDeclaration([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLERULE)] HRESULT CSSStyleRule([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_CSSSTYLESHEET)] HRESULT CSSStyleSheet([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_DATATRANSFER)] HRESULT DataTransfer([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_DOMIMPLEMENTATION)] HRESULT DOMImplementation([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_ELEMENT)] HRESULT Element([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_EVENT)] HRESULT Event([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HISTORY)] HRESULT History([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTCELEMENTBEHAVIORDEFAULTS)] HRESULT HTCElementBehaviorDefaults([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLANCHORELEMENT)] HRESULT HTMLAnchorElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLAREAELEMENT)] HRESULT HTMLAreaElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLAREASCOLLECTION)] HRESULT HTMLAreasCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBASEELEMENT)] HRESULT HTMLBaseElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBASEFONTELEMENT)] HRESULT HTMLBaseFontElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBGSOUNDELEMENT)] HRESULT HTMLBGSoundElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBLOCKELEMENT)] HRESULT HTMLBlockElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBODYELEMENT)] HRESULT HTMLBodyElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBRELEMENT)] HRESULT HTMLBRElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLBUTTONELEMENT)] HRESULT HTMLButtonElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLCOLLECTION)] HRESULT HTMLCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLCOMMENTELEMENT)] HRESULT HTMLCommentElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDDELEMENT)] HRESULT HTMLDDElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDIVELEMENT)] HRESULT HTMLDivElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDOCUMENT)] HRESULT HTMLDocument([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDLISTELEMENT)] HRESULT HTMLDListElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLDTELEMENT)] HRESULT HTMLDTElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLEMBEDELEMENT)] HRESULT HTMLEmbedElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFIELDSETELEMENT)] HRESULT HTMLFieldSetElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFONTELEMENT)] HRESULT HTMLFontElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFORMELEMENT)] HRESULT HTMLFormElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFRAMEELEMENT)] HRESULT HTMLFrameElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLFRAMESETELEMENT)] HRESULT HTMLFrameSetElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLGENERICELEMENT)] HRESULT HTMLGenericElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHEADELEMENT)] HRESULT HTMLHeadElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHEADINGELEMENT)] HRESULT HTMLHeadingElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHRELEMENT)] HRESULT HTMLHRElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLHTMLELEMENT)] HRESULT HTMLHtmlElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLIFRAMEELEMENT)] HRESULT HTMLIFrameElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLIMAGEELEMENT)] HRESULT HTMLImageElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLINPUTELEMENT)] HRESULT HTMLInputElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLISINDEXELEMENT)] HRESULT HTMLIsIndexElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLABELELEMENT)] HRESULT HTMLLabelElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLEGENDELEMENT)] HRESULT HTMLLegendElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLIELEMENT)] HRESULT HTMLLIElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLLINKELEMENT)] HRESULT HTMLLinkElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMAPELEMENT)] HRESULT HTMLMapElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMARQUEEELEMENT)] HRESULT HTMLMarqueeElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMETAELEMENT)] HRESULT HTMLMetaElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLMODELESSDIALOG)] HRESULT HTMLModelessDialog([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNAMESPACEINFO)] HRESULT HTMLNamespaceInfo([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNAMESPACEINFOCOLLECTION)] HRESULT HTMLNamespaceInfoCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNEXTIDELEMENT)] HRESULT HTMLNextIdElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLNOSHOWELEMENT)] HRESULT HTMLNoShowElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOBJECTELEMENT)] HRESULT HTMLObjectElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOLISTELEMENT)] HRESULT HTMLOListElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLOPTIONELEMENT)] HRESULT HTMLOptionElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPARAGRAPHELEMENT)] HRESULT HTMLParagraphElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPARAMELEMENT)] HRESULT HTMLParamElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPHRASEELEMENT)] HRESULT HTMLPhraseElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPLUGINSCOLLECTION)] HRESULT HTMLPluginsCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLPOPUP)] HRESULT HTMLPopup([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSCRIPTELEMENT)] HRESULT HTMLScriptElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSELECTELEMENT)] HRESULT HTMLSelectElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSPANELEMENT)] HRESULT HTMLSpanElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLSTYLEELEMENT)] HRESULT HTMLStyleElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECAPTIONELEMENT)] HRESULT HTMLTableCaptionElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECELLELEMENT)] HRESULT HTMLTableCellElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLECOLELEMENT)] HRESULT HTMLTableColElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLEELEMENT)] HRESULT HTMLTableElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLEROWELEMENT)] HRESULT HTMLTableRowElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTABLESECTIONELEMENT)] HRESULT HTMLTableSectionElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTEXTAREAELEMENT)] HRESULT HTMLTextAreaElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTEXTELEMENT)] HRESULT HTMLTextElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLTITLEELEMENT)] HRESULT HTMLTitleElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLULISTELEMENT)] HRESULT HTMLUListElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_HTMLUNKNOWNELEMENT)] HRESULT HTMLUnknownElement([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_IMAGE)] HRESULT Image([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_LOCATION)] HRESULT Location([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NAMEDNODEMAP)] HRESULT NamedNodeMap([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NAVIGATOR)] HRESULT Navigator([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_NODELIST)] HRESULT NodeList([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_OPTION)] HRESULT Option([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_SCREEN)] HRESULT Screen([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_SELECTION)] HRESULT Selection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STATICNODELIST)] HRESULT StaticNodeList([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STORAGE)] HRESULT Storage([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETLIST)] HRESULT StyleSheetList([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETPAGE)] HRESULT StyleSheetPage([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_STYLESHEETPAGELIST)] HRESULT StyleSheetPageList([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXT)] HRESULT Text([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRANGE)] HRESULT TextRange([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRANGECOLLECTION)] HRESULT TextRangeCollection([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRECTANGLE)] HRESULT TextRectangle([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_TEXTRECTANGLELIST)] HRESULT TextRectangleList([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_WINDOW)] HRESULT Window([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_XDOMAINREQUEST)] HRESULT XDomainRequest([retval, out] IDispatch* * p);
    [propget, id(DISPID_IHTMLDOMCONSTRUCTORCOLLECTION_XMLHTTPREQUEST)] HRESULT XMLHttpRequest([retval, out] IDispatch* * p);
};
typedef enum _HTMLDlgFlag
{
    HTMLDlgFlagNo = 0,
    HTMLDlgFlagOff = 0,
    HTMLDlgFlag0 = 0,
    HTMLDlgFlagYes = 1,
    HTMLDlgFlagOn = 1,
    HTMLDlgFlag1 = 1,
    HTMLDlgFlagNotSet = -1,
    HTMLDlgFlag_Max = 2147483647L
} HTMLDlgFlag;

typedef enum _HTMLDlgBorder
{
    HTMLDlgBorderThin = 0,
    HTMLDlgBorderThick = 0x00040000L,
    HTMLDlgBorder_Max = 2147483647L
} HTMLDlgBorder;

typedef enum _HTMLDlgEdge
{
    HTMLDlgEdgeSunken = 0,
    HTMLDlgEdgeRaised = 16,
    HTMLDlgEdge_Max = 2147483647L
} HTMLDlgEdge;

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

[
    odl,
    oleautomation,
    dual,
    uuid(3050f216-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDialog : IDispatch
{
    [propput, id(DISPID_IHTMLDIALOG_DIALOGTOP), bindable] HRESULT dialogTop([in] VARIANT v);
    [propget, id(DISPID_IHTMLDIALOG_DIALOGTOP), bindable] HRESULT dialogTop([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDIALOG_DIALOGLEFT), bindable] HRESULT dialogLeft([in] VARIANT v);
    [propget, id(DISPID_IHTMLDIALOG_DIALOGLEFT), bindable] HRESULT dialogLeft([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDIALOG_DIALOGWIDTH), bindable] HRESULT dialogWidth([in] VARIANT v);
    [propget, id(DISPID_IHTMLDIALOG_DIALOGWIDTH), bindable] HRESULT dialogWidth([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDIALOG_DIALOGHEIGHT), bindable] HRESULT dialogHeight([in] VARIANT v);
    [propget, id(DISPID_IHTMLDIALOG_DIALOGHEIGHT), bindable] HRESULT dialogHeight([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDIALOG_DIALOGARGUMENTS)] HRESULT dialogArguments([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLDIALOG_MENUARGUMENTS)] HRESULT menuArguments([retval, out] VARIANT * p);
    [propput, id(DISPID_IHTMLDIALOG_RETURNVALUE)] HRESULT returnValue([in] VARIANT v);
    [propget, id(DISPID_IHTMLDIALOG_RETURNVALUE)] HRESULT returnValue([retval, out] VARIANT * p);
    [id(DISPID_IHTMLDIALOG_CLOSE)] HRESULT close();
    [id(DISPID_IHTMLDIALOG_TOSTRING)] HRESULT toString([retval, out] BSTR* String);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5e0-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDialog2 : IDispatch
{
    [propput, id(DISPID_IHTMLDIALOG2_STATUS), hidden] HRESULT status([in] BSTR v);
    [propget, id(DISPID_IHTMLDIALOG2_STATUS), hidden] HRESULT status([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDIALOG2_RESIZABLE), hidden] HRESULT resizable([in] BSTR v);
    [propget, id(DISPID_IHTMLDIALOG2_RESIZABLE), hidden] HRESULT resizable([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f388-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLDialog3 : IDispatch
{
    [propput, id(DISPID_IHTMLDIALOG3_UNADORNED), hidden] HRESULT unadorned([in] BSTR v);
    [propget, id(DISPID_IHTMLDIALOG3_UNADORNED), hidden] HRESULT unadorned([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLDIALOG3_DIALOGHIDE)] HRESULT dialogHide([in] BSTR v);
    [propget, id(DISPID_IHTMLDIALOG3_DIALOGHIDE)] HRESULT dialogHide([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5e4-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLModelessInit : IDispatch
{
    [propget, id(DISPID_IHTMLMODELESSINIT_PARAMETERS)] HRESULT parameters([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLMODELESSINIT_OPTIONSTRING)] HRESULT optionString([retval, out] VARIANT * p);
    [propget, id(DISPID_IHTMLMODELESSINIT_MONIKER)] HRESULT moniker([retval, out] IUnknown* * p);
    [propget, id(DISPID_IHTMLMODELESSINIT_DOCUMENT)] HRESULT document([retval, out] IUnknown* * p);
};
[
    noncreatable,
    uuid(3050f5eb-98b5-11cf-bb82-00aa00bdce0b)
]
coclass ThreadDialogProcParam
{
    [default]           interface IHTMLModelessInit;
};
cpp_quote("EXTERN_C const GUID CLSID_CThreadDialogProcParam;")
[
    noncreatable,
    uuid(3050f28a-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLDialog
{
    [default]           interface IHTMLDialog;
};
cpp_quote("EXTERN_C const GUID CLSID_CHTMLDlg;")
[
    odl,
    oleautomation,
    dual,
    uuid(3050f666-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLPopup : IDispatch
{
    [id(DISPID_IHTMLPOPUP_SHOW)] HRESULT show([in] long x,[in] long y,[in] long w,[in] long h,[in] VARIANT* pElement);
    [id(DISPID_IHTMLPOPUP_HIDE)] HRESULT hide();
    [propget, id(DISPID_IHTMLPOPUP_DOCUMENT)] HRESULT document([retval, out] IHTMLDocument* * p);
    [propget, id(DISPID_IHTMLPOPUP_ISOPEN)] HRESULT isOpen([retval, out] VARIANT_BOOL * p);
};
[
    hidden,
    uuid(3050f589-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLPopup
{
properties:
methods:
    [id(DISPID_IHTMLPOPUP_SHOW)] void show([in] long x,[in] long y,[in] long w,[in] long h,[in] VARIANT* pElement);
    [id(DISPID_IHTMLPOPUP_HIDE)] void hide();
    [propget, id(DISPID_IHTMLPOPUP_DOCUMENT)] IHTMLDocument* document();
    [propget, id(DISPID_IHTMLPOPUP_ISOPEN)] VARIANT_BOOL isOpen();
    [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden] IDispatch* constructor();
};
[
    uuid(3050f667-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLPopup
{
    [default]           dispinterface DispHTMLPopup;
                        interface IHTMLPopup;
                        interface IHTMLDOMConstructor;
};
cpp_quote("EXTERN_C const GUID CLSID_CHTMLPopup;")
typedef enum _HTMLAppFlag
{
    HTMLAppFlagNo = 0,
    HTMLAppFlagOff = 0,
    HTMLAppFlag0 = 0,
    HTMLAppFlagYes = 1,
    HTMLAppFlagOn = 1,
    HTMLAppFlag1 = 1,
    HTMLAppFlag_Max = 2147483647L
} HTMLAppFlag;

typedef enum _HTMLMinimizeFlag
{
    HTMLMinimizeFlagNo = 0,
    HTMLMinimizeFlagYes = 0x00020000L,
    HTMLMinimizeFlag_Max = 2147483647L
} HTMLMinimizeFlag;

typedef enum _HTMLMaximizeFlag
{
    HTMLMaximizeFlagNo = 0,
    HTMLMaximizeFlagYes = 0x00010000L,
    HTMLMaximizeFlag_Max = 2147483647L
} HTMLMaximizeFlag;

typedef enum _HTMLCaptionFlag
{
    HTMLCaptionFlagNo = 0,
    HTMLCaptionFlagYes = 0x00C00000L,
    HTMLCaptionFlag_Max = 2147483647L
} HTMLCaptionFlag;

typedef enum _HTMLSysMenuFlag
{
    HTMLSysMenuFlagNo = 0,
    HTMLSysMenuFlagYes = 0x00080000L,
    HTMLSysMenuFlag_Max = 2147483647L
} HTMLSysMenuFlag;

typedef enum _HTMLBorder
{
    HTMLBorderNone = 0,
    HTMLBorderThick = 0x00040000L,
    HTMLBorderDialog = 0x00400000L,
    HTMLBorderThin = 0x00800000L,
    HTMLBorder_Max = 2147483647L
} HTMLBorder;

typedef enum _HTMLBorderStyle
{
    HTMLBorderStyleNormal = 0,
    HTMLBorderStyleRaised = 0x00000100L,
    HTMLBorderStyleSunken = 0x00000200L,
    HTMLBorderStylecombined = 0x00000300L,
    HTMLBorderStyleStatic = 0x00020000L,
    HTMLBorderStyle_Max = 2147483647L
} HTMLBorderStyle;

typedef enum _HTMLWindowState
{
    HTMLWindowStateNormal = 1,
    HTMLWindowStateMaximize = 3,
    HTMLWindowStateMinimize = 6,
    HTMLWindowState_Max = 2147483647L
} HTMLWindowState;

[
    odl,
    oleautomation,
    dual,
    uuid(3050f5ca-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAppBehavior : IDispatch
{
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_APPLICATIONNAME)] HRESULT applicationName([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_APPLICATIONNAME)] HRESULT applicationName([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_VERSION)] HRESULT version([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_VERSION)] HRESULT version([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_ICON)] HRESULT icon([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_ICON)] HRESULT icon([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_SINGLEINSTANCE)] HRESULT singleInstance([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_SINGLEINSTANCE)] HRESULT singleInstance([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_MINIMIZEBUTTON)] HRESULT minimizeButton([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_MINIMIZEBUTTON)] HRESULT minimizeButton([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_MAXIMIZEBUTTON)] HRESULT maximizeButton([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_MAXIMIZEBUTTON)] HRESULT maximizeButton([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_BORDER)] HRESULT border([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_BORDER)] HRESULT border([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_BORDERSTYLE)] HRESULT borderStyle([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_BORDERSTYLE)] HRESULT borderStyle([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_SYSMENU)] HRESULT sysMenu([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_SYSMENU)] HRESULT sysMenu([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_CAPTION)] HRESULT caption([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_CAPTION)] HRESULT caption([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_WINDOWSTATE)] HRESULT windowState([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_WINDOWSTATE)] HRESULT windowState([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_SHOWINTASKBAR)] HRESULT showInTaskBar([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_SHOWINTASKBAR)] HRESULT showInTaskBar([retval, out] BSTR * p);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_COMMANDLINE)] HRESULT commandLine([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5c9-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAppBehavior2 : IDispatch
{
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_CONTEXTMENU)] HRESULT contextMenu([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_CONTEXTMENU)] HRESULT contextMenu([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_INNERBORDER)] HRESULT innerBorder([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_INNERBORDER)] HRESULT innerBorder([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_SCROLL)] HRESULT scroll([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_SCROLL)] HRESULT scroll([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_SCROLLFLAT)] HRESULT scrollFlat([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_SCROLLFLAT)] HRESULT scrollFlat([retval, out] BSTR * p);
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_SELECTION)] HRESULT selection([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_SELECTION)] HRESULT selection([retval, out] BSTR * p);
};
[
    odl,
    oleautomation,
    dual,
    uuid(3050f5cd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHTMLAppBehavior3 : IDispatch
{
    [propput, id(DISPID_IHTMLAPPBEHAVIOR3_NAVIGABLE)] HRESULT navigable([in] BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR3_NAVIGABLE)] HRESULT navigable([retval, out] BSTR * p);
};
[
    hidden,
    uuid(3050f57c-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispHTMLAppBehavior
{
properties:
methods:
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_APPLICATIONNAME)] void applicationName(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_APPLICATIONNAME)] BSTR applicationName();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_VERSION)] void version(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_VERSION)] BSTR version();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_ICON)] void icon(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_ICON)] BSTR icon();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_SINGLEINSTANCE)] void singleInstance(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_SINGLEINSTANCE)] BSTR singleInstance();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_MINIMIZEBUTTON)] void minimizeButton(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_MINIMIZEBUTTON)] BSTR minimizeButton();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_MAXIMIZEBUTTON)] void maximizeButton(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_MAXIMIZEBUTTON)] BSTR maximizeButton();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_BORDER)] void border(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_BORDER)] BSTR border();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_BORDERSTYLE)] void borderStyle(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_BORDERSTYLE)] BSTR borderStyle();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_SYSMENU)] void sysMenu(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_SYSMENU)] BSTR sysMenu();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_CAPTION)] void caption(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_CAPTION)] BSTR caption();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_WINDOWSTATE)] void windowState(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_WINDOWSTATE)] BSTR windowState();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR_SHOWINTASKBAR)] void showInTaskBar(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_SHOWINTASKBAR)] BSTR showInTaskBar();
    [propget, id(DISPID_IHTMLAPPBEHAVIOR_COMMANDLINE)] BSTR commandLine();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_CONTEXTMENU)] void contextMenu(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_CONTEXTMENU)] BSTR contextMenu();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_INNERBORDER)] void innerBorder(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_INNERBORDER)] BSTR innerBorder();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_SCROLL)] void scroll(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_SCROLL)] BSTR scroll();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_SCROLLFLAT)] void scrollFlat(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_SCROLLFLAT)] BSTR scrollFlat();
    [propput, id(DISPID_IHTMLAPPBEHAVIOR2_SELECTION)] void selection(BSTR v);
    [propget, id(DISPID_IHTMLAPPBEHAVIOR2_SELECTION)] BSTR selection();
};
[
    noncreatable,
    uuid(3050f5cb-98b5-11cf-bb82-00aa00bdce0b)
]
coclass HTMLAppBehavior
{
    [default]           dispinterface DispHTMLAppBehavior;
                        interface IHTMLAppBehavior;
                        interface IHTMLAppBehavior2;
};
cpp_quote("EXTERN_C const GUID CLSID_CAppBehavior;")

//
// Workaround for IE3 Scripting Wizard - relies on seeing these coclass GUIDS
//

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

//
// Workaround for IE3 Scripting Wizard - relies on seeing these coclass GUIDS
//

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

// the following 5 coclasses and dispinterfaces are needed for backward compatability,
// now that in IE5 all the input elements have been amalgamated into one. VID uses these
// DispIHTMLInputButtonElement,
// DispIHTMLInputTextElement,
// DispIHTMLInputFileElement,
// DispIHTMLOptionButtonElement,
// DispIHTMLInputImage
[
	hidden,
	uuid(3050f51e-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispIHTMLInputButtonElement
{
properties:
methods:
	[id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
	[propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
	[propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
	[propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
	[propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
	[propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
	[propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
	[propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
	[propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
	[propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
	[propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
	[propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
	[propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
	[id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
	[id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
	[propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
	[propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
	[propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
	[propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
	[propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
	[propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
	[propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
	[propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
	[propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
	[id(DISPID_IHTMLELEMENT_CLICK)] void click();
	[propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
	[propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
	[id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
	[propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
	[propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
	[propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
	[propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
	[propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
	[propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] void tabIndex(short v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] short tabIndex();
	[id(DISPID_IHTMLCONTROLELEMENT_FOCUS)] void focus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] BSTR accessKey();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] VARIANT onblur();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] VARIANT onfocus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] VARIANT onresize();
	[id(DISPID_IHTMLCONTROLELEMENT_BLUR)] void blur();
	[id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
	[id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable] long clientWidth();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable] long clientTop();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable] long clientLeft();
	[propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_TYPE)] BSTR type();
	[propput, id(DISPID_IHTMLINPUTBUTTONELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
	[propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_VALUE), displaybind, bindable] BSTR value();
	[propput, id(DISPID_IHTMLINPUTBUTTONELEMENT_NAME), displaybind, bindable] void name(BSTR v);
	[propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_NAME), displaybind, bindable] BSTR name();
	[propput, id(DISPID_IHTMLINPUTBUTTONELEMENT_STATUS)] void status(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_STATUS)] VARIANT status();
	[propput, id(DISPID_IHTMLINPUTBUTTONELEMENT_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
	[propget, id(DISPID_IHTMLINPUTBUTTONELEMENT_FORM)] IHTMLFormElement* form();
	[id(DISPID_IHTMLINPUTBUTTONELEMENT_CREATETEXTRANGE)] IHTMLTxtRange* createTextRange();
};
[
	uuid(3050f2b4-98b5-11cf-bb82-00aa00bdce0b),
	noncreatable
]
coclass HTMLInputButtonElement
{
	[default]			dispinterface DispIHTMLInputButtonElement;
	[source, default]	dispinterface HTMLButtonElementEvents;
						interface IHTMLInputButtonElement;
						interface IHTMLControlElement;
						interface IHTMLElement;
};

[
	hidden,
	uuid(3050f520-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispIHTMLInputTextElement
{
properties:
methods:
	[id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
	[propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
	[propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
	[propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
	[propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
	[propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
	[propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
	[propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
	[propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
	[propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
	[propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
	[propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
	[propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
	[id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
	[id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
	[propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
	[propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
	[propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
	[propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
	[propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
	[propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
	[propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
	[propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
	[propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
	[id(DISPID_IHTMLELEMENT_CLICK)] void click();
	[propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
	[propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
	[id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
	[propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
	[propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
	[propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
	[propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
	[propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
	[propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] void tabIndex(short v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] short tabIndex();
	[id(DISPID_IHTMLCONTROLELEMENT_FOCUS)] void focus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] BSTR accessKey();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] VARIANT onblur();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] VARIANT onfocus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] VARIANT onresize();
	[id(DISPID_IHTMLCONTROLELEMENT_BLUR)] void blur();
	[id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
	[id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable] long clientWidth();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable] long clientTop();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable] long clientLeft();
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)] BSTR type();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable] BSTR value();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable] void name(BSTR v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable] BSTR name();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)] void status(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)] VARIANT status();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)] IHTMLFormElement* form();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] void defaultValue(BSTR v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden] BSTR defaultValue();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable] void size(long v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable] long size();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable] void maxLength(long v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable] long maxLength();
	[id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)] void select();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable] VARIANT onchange();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable] VARIANT onselect();
	[propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable] void readOnly(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable] VARIANT_BOOL readOnly();
	[id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)] IHTMLTxtRange* createTextRange();
	[propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
	[propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
	[propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
	[propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
	[propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
	[propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
};
[
	uuid(3050f2ab-98b5-11cf-bb82-00aa00bdce0b),
	noncreatable
]
coclass HTMLInputTextElement
{
	[default]			dispinterface DispIHTMLInputTextElement;
	[source, default]	dispinterface HTMLInputTextElementEvents;
						interface IHTMLInputTextElement;
						interface IHTMLControlElement;
						interface IHTMLElement;
						interface IHTMLDatabinding;
};

[
	hidden,
	uuid(3050f542-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispIHTMLInputFileElement
{
properties:
methods:
	[id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
	[propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
	[propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
	[propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
	[propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
	[propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
	[propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
	[propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
	[propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
	[propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
	[propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
	[propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
	[propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
	[id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
	[id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
	[propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
	[propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
	[propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
	[propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
	[propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
	[propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
	[propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
	[propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
	[propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
	[id(DISPID_IHTMLELEMENT_CLICK)] void click();
	[propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
	[propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
	[id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
	[propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
	[propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
	[propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
	[propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
	[propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
	[propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] void tabIndex(short v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] short tabIndex();
	[id(DISPID_IHTMLCONTROLELEMENT_FOCUS)] void focus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] BSTR accessKey();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] VARIANT onblur();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] VARIANT onfocus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] VARIANT onresize();
	[id(DISPID_IHTMLCONTROLELEMENT_BLUR)] void blur();
	[id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
	[id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable] long clientWidth();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable] long clientTop();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable] long clientLeft();
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_TYPE)] BSTR type();
	[propput, id(DISPID_IHTMLINPUTFILEELEMENT_NAME), displaybind, bindable] void name(BSTR v);
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_NAME), displaybind, bindable] BSTR name();
	[propput, id(DISPID_IHTMLINPUTFILEELEMENT_STATUS)] void status(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_STATUS)] VARIANT status();
	[propput, id(DISPID_IHTMLINPUTFILEELEMENT_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_FORM)] IHTMLFormElement* form();
	[propput, id(DISPID_IHTMLINPUTFILEELEMENT_SIZE), displaybind, bindable] void size(long v);
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_SIZE), displaybind, bindable] long size();
	[propput, id(DISPID_IHTMLINPUTFILEELEMENT_MAXLENGTH), displaybind, bindable] void maxLength(long v);
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_MAXLENGTH), displaybind, bindable] long maxLength();
	[id(DISPID_IHTMLINPUTFILEELEMENT_SELECT)] void select();
	[propput, id(DISPID_IHTMLINPUTFILEELEMENT_ONCHANGE), displaybind, bindable] void onchange(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_ONCHANGE), displaybind, bindable] VARIANT onchange();
	[propput, id(DISPID_IHTMLINPUTFILEELEMENT_ONSELECT), displaybind, bindable] void onselect(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_ONSELECT), displaybind, bindable] VARIANT onselect();
	[propput, id(DISPID_IHTMLINPUTFILEELEMENT_VALUE), displaybind, bindable] void value(BSTR v);
	[propget, id(DISPID_IHTMLINPUTFILEELEMENT_VALUE), displaybind, bindable] BSTR value();
};
[
	uuid(3050f2ae-98b5-11cf-bb82-00aa00bdce0b),
	noncreatable
]
coclass HTMLInputFileElement
{
	[default]			dispinterface DispIHTMLInputFileElement;
	[source, default]	dispinterface HTMLInputFileElementEvents;
						interface IHTMLInputFileElement;
						interface IHTMLControlElement;
						interface IHTMLElement;
};

[
	hidden,
	uuid(3050f509-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispIHTMLOptionButtonElement
{
properties:
methods:
	[id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
	[propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
	[propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
	[propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
	[propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
	[propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
	[propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
	[propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
	[propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
	[propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
	[propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
	[propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
	[propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
	[id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
	[id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
	[propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
	[propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
	[propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
	[propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
	[propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
	[propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
	[propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
	[propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
	[propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
	[id(DISPID_IHTMLELEMENT_CLICK)] void click();
	[propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
	[propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
	[id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
	[propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
	[propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
	[propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
	[propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
	[propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
	[propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] void tabIndex(short v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] short tabIndex();
	[id(DISPID_IHTMLCONTROLELEMENT_FOCUS)] void focus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] BSTR accessKey();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] VARIANT onblur();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] VARIANT onfocus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] VARIANT onresize();
	[id(DISPID_IHTMLCONTROLELEMENT_BLUR)] void blur();
	[id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
	[id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable] long clientWidth();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable] long clientTop();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable] long clientLeft();
	[propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_VALUE), bindable] void value(BSTR v);
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_VALUE), bindable] BSTR value();
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_TYPE)] BSTR type();
	[propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_NAME), bindable] void name(BSTR v);
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_NAME), bindable] BSTR name();
	[propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_CHECKED), bindable] void checked(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_CHECKED), bindable] VARIANT_BOOL checked();
	[propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_DEFAULTCHECKED), bindable] void defaultChecked(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_DEFAULTCHECKED), bindable] VARIANT_BOOL defaultChecked();
	[propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_ONCHANGE), bindable] void onchange(VARIANT v);
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_ONCHANGE), bindable] VARIANT onchange();
	[propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
	[propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_STATUS)] void status(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_STATUS)] VARIANT_BOOL status();
	[propput, id(DISPID_IHTMLOPTIONBUTTONELEMENT_INDETERMINATE), bindable] void indeterminate(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_INDETERMINATE), bindable] VARIANT_BOOL indeterminate();
	[propget, id(DISPID_IHTMLOPTIONBUTTONELEMENT_FORM)] IHTMLFormElement* form();
	[propput, id(DISPID_IHTMLDATABINDING_DATAFLD)] void dataFld(BSTR v);
	[propget, id(DISPID_IHTMLDATABINDING_DATAFLD)] BSTR dataFld();
	[propput, id(DISPID_IHTMLDATABINDING_DATASRC)] void dataSrc(BSTR v);
	[propget, id(DISPID_IHTMLDATABINDING_DATASRC)] BSTR dataSrc();
	[propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] void dataFormatAs(BSTR v);
	[propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] BSTR dataFormatAs();
};
[
	uuid(3050f2be-98b5-11cf-bb82-00aa00bdce0b),
	noncreatable
]
coclass HTMLOptionButtonElement
{
	[default]			dispinterface DispIHTMLOptionButtonElement;
	[source, default]	dispinterface HTMLOptionButtonElementEvents;
						interface IHTMLOptionButtonElement;
						interface IHTMLControlElement;
						interface IHTMLElement;
						interface IHTMLDatabinding;
};

[
	hidden,
	uuid(3050f51d-98b5-11cf-bb82-00aa00bdce0b)
]
dispinterface DispIHTMLInputImage
{
properties:
methods:
	[id(DISPID_IHTMLELEMENT_SETATTRIBUTE)] void setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue,[defaultvalue(1), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_GETATTRIBUTE)] VARIANT getAttribute([in] BSTR strAttributeName,[defaultvalue(0), in] LONG lFlags);
	[id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)] VARIANT_BOOL removeAttribute([in] BSTR strAttributeName,[defaultvalue(1), in] LONG lFlags);
	[propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] void className(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable] BSTR className();
	[propput, id(DISPID_IHTMLELEMENT_ID), bindable] void id(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_ID), bindable] BSTR id();
	[propget, id(DISPID_IHTMLELEMENT_TAGNAME)] BSTR tagName();
	[propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)] IHTMLElement* parentElement();
	[propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable] IHTMLStyle* style();
	[propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] void onhelp(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable] VARIANT onhelp();
	[propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] void onclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable] VARIANT onclick();
	[propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] void ondblclick(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable] VARIANT ondblclick();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] void onkeydown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] VARIANT onkeydown();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] void onkeyup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable] VARIANT onkeyup();
	[propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] void onkeypress(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable] VARIANT onkeypress();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] void onmouseout(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable] VARIANT onmouseout();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] void onmouseover(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] VARIANT onmouseover();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] void onmousemove(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] VARIANT onmousemove();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] void onmousedown(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] VARIANT onmousedown();
	[propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] void onmouseup(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] VARIANT onmouseup();
	[propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
	[propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] void title(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable] BSTR title();
	[propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] void language(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable] BSTR language();
	[propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] void onselectstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] VARIANT onselectstart();
	[id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)] void scrollIntoView([optional, in] VARIANT varargStart);
	[id(DISPID_IHTMLELEMENT_CONTAINS)] VARIANT_BOOL contains([in] IHTMLElement* pChild);
	[propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable] long sourceIndex();
	[propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)] VARIANT recordNumber();
	[propput, id(DISPID_IHTMLELEMENT_LANG)] void lang(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_LANG)] BSTR lang();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)] long offsetLeft();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)] long offsetTop();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)] long offsetWidth();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)] long offsetHeight();
	[propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)] IHTMLElement* offsetParent();
	[propput, id(DISPID_IHTMLELEMENT_INNERHTML)] void innerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERHTML)] BSTR innerHTML();
	[propput, id(DISPID_IHTMLELEMENT_INNERTEXT)] void innerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_INNERTEXT)] BSTR innerText();
	[propput, id(DISPID_IHTMLELEMENT_OUTERHTML)] void outerHTML(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERHTML)] BSTR outerHTML();
	[propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)] void outerText(BSTR v);
	[propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)] BSTR outerText();
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)] void insertAdjacentHTML([in] BSTR where,[in] BSTR html);
	[id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)] void insertAdjacentText([in] BSTR where,[in] BSTR text);
	[propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)] IHTMLElement* parentTextEdit();
	[propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)] VARIANT_BOOL isTextEdit();
	[id(DISPID_IHTMLELEMENT_CLICK)] void click();
	[propget, id(DISPID_IHTMLELEMENT_FILTERS)] IHTMLFiltersCollection* filters();
	[propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] void ondragstart(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] VARIANT ondragstart();
	[id(DISPID_IHTMLELEMENT_TOSTRING)] BSTR toString();
	[propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] void onbeforeupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] VARIANT onbeforeupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] void onafterupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] VARIANT onafterupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] void onerrorupdate(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] VARIANT onerrorupdate();
	[propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] void onrowexit(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] VARIANT onrowexit();
	[propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] void onrowenter(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] VARIANT onrowenter();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] void ondatasetchanged(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] VARIANT ondatasetchanged();
	[propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] void ondataavailable(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] VARIANT ondataavailable();
	[propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] void ondatasetcomplete(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] VARIANT ondatasetcomplete();
	[propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] void onfilterchange(VARIANT v);
	[propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] VARIANT onfilterchange();
	[propget, id(DISPID_IHTMLELEMENT_CHILDREN)] IDispatch* children();
	[propget, id(DISPID_IHTMLELEMENT_ALL)] IDispatch* all();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] void tabIndex(short v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable] short tabIndex();
	[id(DISPID_IHTMLCONTROLELEMENT_FOCUS)] void focus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] void accessKey(BSTR v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable] BSTR accessKey();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] void onblur(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable] VARIANT onblur();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] void onfocus(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable] VARIANT onfocus();
	[propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] void onresize(VARIANT v);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable] VARIANT onresize();
	[id(DISPID_IHTMLCONTROLELEMENT_BLUR)] void blur();
	[id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)] void addFilter([in] IUnknown* pUnk);
	[id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)] void removeFilter([in] IUnknown* pUnk);
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable] long clientHeight();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable] long clientWidth();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable] long clientTop();
	[propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable] long clientLeft();
	[propget, id(DISPID_IHTMLINPUTIMAGE_TYPE)] BSTR type();
	[propput, id(DISPID_IHTMLINPUTIMAGE_DISABLED), displaybind, bindable] void disabled(VARIANT_BOOL v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_DISABLED), displaybind, bindable] VARIANT_BOOL disabled();
	[propput, id(DISPID_IHTMLINPUTIMAGE_BORDER), displaybind, bindable] void border(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_BORDER), displaybind, bindable] VARIANT border();
	[propput, id(DISPID_IHTMLINPUTIMAGE_VSPACE), displaybind, bindable] void vspace(long v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_VSPACE), displaybind, bindable] long vspace();
	[propput, id(DISPID_IHTMLINPUTIMAGE_HSPACE), displaybind, bindable] void hspace(long v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_HSPACE), displaybind, bindable] long hspace();
	[propput, id(DISPID_IHTMLINPUTIMAGE_ALT), displaybind, bindable] void alt(BSTR v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_ALT), displaybind, bindable] BSTR alt();
	[propput, id(DISPID_IHTMLINPUTIMAGE_SRC), displaybind, bindable] void src(BSTR v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_SRC), displaybind, bindable] BSTR src();
	[propput, id(DISPID_IHTMLINPUTIMAGE_LOWSRC), displaybind, bindable] void lowsrc(BSTR v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_LOWSRC), displaybind, bindable] BSTR lowsrc();
	[propput, id(DISPID_IHTMLINPUTIMAGE_VRML), displaybind, bindable] void vrml(BSTR v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_VRML), displaybind, bindable] BSTR vrml();
	[propput, id(DISPID_IHTMLINPUTIMAGE_DYNSRC), displaybind, bindable] void dynsrc(BSTR v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_DYNSRC), displaybind, bindable] BSTR dynsrc();
	[propget, id(DISPID_IHTMLINPUTIMAGE_READYSTATE)] BSTR readyState();
	[propget, id(DISPID_IHTMLINPUTIMAGE_COMPLETE)] VARIANT_BOOL complete();
	[propput, id(DISPID_IHTMLINPUTIMAGE_LOOP), displaybind, bindable] void loop(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_LOOP), displaybind, bindable] VARIANT loop();
	[propput, id(DISPID_IHTMLINPUTIMAGE_ALIGN), displaybind, bindable] void align(BSTR v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_ALIGN), displaybind, bindable] BSTR align();
	[propput, id(DISPID_IHTMLINPUTIMAGE_ONLOAD), displaybind, bindable] void onload(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_ONLOAD), displaybind, bindable] VARIANT onload();
	[propput, id(DISPID_IHTMLINPUTIMAGE_ONERROR), displaybind, bindable] void onerror(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_ONERROR), displaybind, bindable] VARIANT onerror();
	[propput, id(DISPID_IHTMLINPUTIMAGE_ONABORT), displaybind, bindable] void onabort(VARIANT v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_ONABORT), displaybind, bindable] VARIANT onabort();
	[propput, id(DISPID_IHTMLINPUTIMAGE_NAME), displaybind, bindable] void name(BSTR v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_NAME), displaybind, bindable] BSTR name();
	[propput, id(DISPID_IHTMLINPUTIMAGE_WIDTH)] void width(long v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_WIDTH)] long width();
	[propput, id(DISPID_IHTMLINPUTIMAGE_HEIGHT)] void height(long v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_HEIGHT)] long height();
	[propput, id(DISPID_IHTMLINPUTIMAGE_START), displaybind, bindable] void start(BSTR v);
	[propget, id(DISPID_IHTMLINPUTIMAGE_START), displaybind, bindable] BSTR start();
};
[
	uuid(3050f2c4-98b5-11cf-bb82-00aa00bdce0b),
	noncreatable
]
coclass HTMLInputImage
{
	[default]			dispinterface DispIHTMLInputImage;
	[source, default]	dispinterface HTMLInputImageEvents;
						interface IHTMLInputImage;
						interface IHTMLControlElement;
						interface IHTMLElement;
};
 
typedef enum _BEHAVIOR_EVENT
{
    BEHAVIOREVENT_FIRST = 0,
    BEHAVIOREVENT_CONTENTREADY = 0,
    BEHAVIOREVENT_DOCUMENTREADY = 1,
    BEHAVIOREVENT_APPLYSTYLE = 2,
    BEHAVIOREVENT_DOCUMENTCONTEXTCHANGE = 3,
    BEHAVIOREVENT_CONTENTSAVE = 4,
    BEHAVIOREVENT_LAST = 4,
    BEHAVIOR_EVENT_Max = 2147483647L
} BEHAVIOR_EVENT;

typedef enum _BEHAVIOR_EVENT_FLAGS
{
    BEHAVIOREVENTFLAGS_BUBBLE = 1,
    BEHAVIOREVENTFLAGS_STANDARDADDITIVE = 2,
    BEHAVIOR_EVENT_FLAGS_Max = 2147483647L
} BEHAVIOR_EVENT_FLAGS;

typedef enum _BEHAVIOR_RENDER_INFO
{
    BEHAVIORRENDERINFO_BEFOREBACKGROUND = 0x000001,
    BEHAVIORRENDERINFO_AFTERBACKGROUND = 0x000002,
    BEHAVIORRENDERINFO_BEFORECONTENT = 0x000004,
    BEHAVIORRENDERINFO_AFTERCONTENT = 0x000008,
    BEHAVIORRENDERINFO_AFTERFOREGROUND = 0x000020,
    BEHAVIORRENDERINFO_ABOVECONTENT = 0x000028,
    BEHAVIORRENDERINFO_ALLLAYERS = 0x0000FF,
    BEHAVIORRENDERINFO_DISABLEBACKGROUND = 0x000100,
    BEHAVIORRENDERINFO_DISABLENEGATIVEZ = 0x000200,
    BEHAVIORRENDERINFO_DISABLECONTENT = 0x000400,
    BEHAVIORRENDERINFO_DISABLEPOSITIVEZ = 0x000800,
    BEHAVIORRENDERINFO_DISABLEALLLAYERS = 0x000F00,
    BEHAVIORRENDERINFO_HITTESTING = 0x001000,
    BEHAVIORRENDERINFO_SURFACE = 0x100000,
    BEHAVIORRENDERINFO_3DSURFACE = 0x200000,
    BEHAVIOR_RENDER_INFO_Max = 2147483647L
} BEHAVIOR_RENDER_INFO;

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

typedef enum _BEHAVIOR_LAYOUT_INFO
{
    BEHAVIORLAYOUTINFO_FULLDELEGATION = 0x01,
    BEHAVIORLAYOUTINFO_MODIFYNATURAL = 0x02,
    BEHAVIORLAYOUTINFO_MAPSIZE = 0x04,
    BEHAVIOR_LAYOUT_INFO_Max = 2147483647L
} BEHAVIOR_LAYOUT_INFO;

typedef enum _BEHAVIOR_LAYOUT_MODE
{
    BEHAVIORLAYOUTMODE_NATURAL = 0x0001,
    BEHAVIORLAYOUTMODE_MINWIDTH = 0x0002,
    BEHAVIORLAYOUTMODE_MAXWIDTH = 0x0004,
    BEHAVIORLAYOUTMODE_MEDIA_RESOLUTION = 0x4000,
    BEHAVIORLAYOUTMODE_FINAL_PERCENT = 0x8000,
    BEHAVIOR_LAYOUT_MODE_Max = 2147483647L
} BEHAVIOR_LAYOUT_MODE;

typedef enum _ELEMENTDESCRIPTOR_FLAGS
{
    ELEMENTDESCRIPTORFLAGS_LITERAL = 1,
    ELEMENTDESCRIPTORFLAGS_NESTED_LITERAL = 2,
    ELEMENTDESCRIPTOR_FLAGS_Max = 2147483647L
} ELEMENTDESCRIPTOR_FLAGS;

typedef enum _ELEMENTNAMESPACE_FLAGS
{
    ELEMENTNAMESPACEFLAGS_ALLOWANYTAG = 0x1,
    ELEMENTNAMESPACEFLAGS_QUERYFORUNKNOWNTAGS = 0x2,
    ELEMENTNAMESPACE_FLAGS_Max = 2147483647L
} ELEMENTNAMESPACE_FLAGS;

interface IElementBehavior;
interface IElementBehaviorSite;
interface IHTMLElementDefaults;
[
    object,
    pointer_default(unique),
    uuid(3050f429-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorFactory : IUnknown
{
    [] HRESULT FindBehavior([in] BSTR bstrBehavior,[in] BSTR bstrBehaviorUrl,[in] IElementBehaviorSite* pSite,[retval, out] IElementBehavior** ppBehavior);
};
[
    object,
    pointer_default(unique),
    uuid(3050f671-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementNamespace : IUnknown
{
    [] HRESULT AddTag([in] BSTR bstrTagName,[in] LONG lFlags);
};
[
    object,
    pointer_default(unique),
    uuid(3050f670-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementNamespaceTable : IUnknown
{
    [] HRESULT AddNamespace([in] BSTR bstrNamespace,[in] BSTR bstrUrn,[in] LONG lFlags,[in] VARIANT* pvarFactory);
};
[
    object,
    pointer_default(unique),
    uuid(3050f672-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementNamespaceFactory : IUnknown
{
    [] HRESULT Create([in] IElementNamespace* pNamespace);
};
[
    object,
    pointer_default(unique),
    uuid(3050f805-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementNamespaceFactory2 : IElementNamespaceFactory
{
    [] HRESULT CreateWithImplementation([in] IElementNamespace* pNamespace,[in] BSTR bstrImplementation);
};
[
    object,
    pointer_default(unique),
    uuid(3050f7fd-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementNamespaceFactoryCallback : IUnknown
{
    [] HRESULT Resolve([in] BSTR bstrNamespace,[in] BSTR bstrTagName,[in] BSTR bstrAttrs,[in] IElementNamespace* pNamespace);
};
[
    object,
    pointer_default(unique),
    uuid(3050f425-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehavior : IUnknown
{
    [] HRESULT Init([in] IElementBehaviorSite* pBehaviorSite);
    [] HRESULT Notify([in] LONG lEvent,[in, out] VARIANT* pVar);
    [] HRESULT Detach();
};
[
    object,
    pointer_default(unique),
    uuid(3050f427-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorSite : IUnknown
{
    [] HRESULT GetElement([retval, out] IHTMLElement** ppElement);
    [] HRESULT RegisterNotification([in] LONG lEvent);
};
[
    object,
    pointer_default(unique),
    uuid(3050f489-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorSiteOM : IUnknown
{
    [] HRESULT RegisterEvent([in] LPOLESTR pchEvent,[in] LONG lFlags,[retval, out] LONG* plCookie);
    [] HRESULT GetEventCookie([in] LPOLESTR pchEvent,[retval, out] LONG* plCookie);
    [] HRESULT FireEvent([in] LONG lCookie,[in] IHTMLEventObj* pEventObject);
    [] HRESULT CreateEventObject([retval, out] IHTMLEventObj** ppEventObject);
    [] HRESULT RegisterName([in] LPOLESTR pchName);
    [] HRESULT RegisterUrn([in] LPOLESTR pchUrn);
};
[
    object,
    pointer_default(unique),
    uuid(3050f659-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorSiteOM2 : IElementBehaviorSiteOM
{
    [] HRESULT GetDefaults([retval, out] IHTMLElementDefaults** ppDefaults);
};
[
    object,
    pointer_default(unique),
    uuid(3050f4aa-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorRender : IUnknown
{
    [] HRESULT Draw([in] HDC hdc,[in] LONG lLayer,[in] RECT* pRect,[in] IUnknown* pReserved);
    [] HRESULT GetRenderInfo([retval, out] LONG* plRenderInfo);
    [] HRESULT HitTestPoint([in] POINT* pPoint,[in] IUnknown* pReserved,[retval, out] BOOL* pbHit);
};
[
    object,
    pointer_default(unique),
    uuid(3050f4a7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorSiteRender : IUnknown
{
    [] HRESULT Invalidate([in] RECT* pRect);
    [] HRESULT InvalidateRenderInfo();
    [] HRESULT InvalidateStyle();
};
[
    object,
    pointer_default(unique),
    uuid(3050f4ed-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorCategory : IUnknown
{
    [] HRESULT GetCategory([retval, out] LPOLESTR* ppchCategory);
};
[
    object,
    pointer_default(unique),
    uuid(3050f4ee-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorSiteCategory : IUnknown
{
    [] HRESULT GetRelatedBehaviors([in] LONG lDirection,[in] LPOLESTR pchCategory,[retval, out] IEnumUnknown** ppEnumerator);
};
[
    object,
    pointer_default(unique),
    uuid(3050f646-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorSubmit : IUnknown
{
    [] HRESULT GetSubmitInfo([in] IHTMLSubmitData* pSubmitData);
    [] HRESULT Reset();
};
[
    object,
    pointer_default(unique),
    uuid(3050f6b6-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorFocus : IUnknown
{
    [] HRESULT GetFocusRect([in] RECT* pRect);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6ba-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorLayout : IUnknown
{
    [] HRESULT GetSize([in] LONG dwFlags,[in] SIZE sizeContent,[in, out] POINT* pptTranslateBy,[in, out] POINT* pptTopLeft,[in, out] SIZE* psizeProposed);
    [] HRESULT GetLayoutInfo([retval, out] LONG* plLayoutInfo);
    [] HRESULT GetPosition([in] LONG lFlags,[in, out] POINT* pptTopLeft);
    [] HRESULT MapSize([in] SIZE* psizeIn,[out] RECT* prcOut);
};
[
    object,
    pointer_default(unique),
    uuid(3050f846-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorLayout2 : IUnknown
{
    [] HRESULT GetTextDescent([out] LONG* plDescent);
};
[
    object,
    pointer_default(unique),
    uuid(3050f6b7-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorSiteLayout : IUnknown
{
    [] HRESULT InvalidateLayoutInfo();
    [] HRESULT InvalidateSize();
    [] HRESULT GetMediaResolution([retval, out] SIZE* psizeResolution);
};
[
    object,
    pointer_default(unique),
    uuid(3050f847-98b5-11cf-bb82-00aa00bdce0b)
]
interface IElementBehaviorSiteLayout2 : IUnknown
{
    [] HRESULT GetFontInfo([out] LOGFONTW* plf);
};
[
    object,
    pointer_default(unique),
    uuid(3050f842-98b5-11cf-bb82-00aa00bdce0b)
]
interface IHostBehaviorInit : IUnknown
{
    [] HRESULT PopulateNamespaceTable();
};
} 
 

